【问题标题】:With Google AI Platform Notebook instances, how do I ssh into the jupyterlab container from my local machine?使用 Google AI Platform Notebook 实例,我如何从本地机器 ssh 进入 jupyterlab 容器?
【发布时间】:2021-09-09 02:58:04
【问题描述】:

我正在尝试将 VS Code 远程开发连接到在 Google Cloud 上使用 AI Platform(笔记本实例)运行的 JupyterLab 服务器。

如何添加不连接到 vm 而是连接到运行 JupyterLab 服务器的 docker 容器的 ssh 主机?

我希望能够从本地笔记本电脑的 VS Code 编辑该容器中的源代码

我知道gcloud compute config-ssh,它编辑了我的~/.ssh/config 并添加了一个Host 条目,VS Code 可以使用它来连接到VM。但我需要更进一步,进入那里运行的 docker 容器的文件系统。

编辑:我的问题的前提是错误的,我知道了。 jupyterlab 不在容器中运行;它在VM上正常运行。因此,ssh' 进入 VM 让我可以访问与 jupyter 可用的文件系统相同的文件系统。唯一的问题是将jupyter 用户指定为ssh

【问题讨论】:

    标签: docker visual-studio-code google-cloud-platform ssh google-ai-platform


    【解决方案1】:

    Google 在Using ssh to access JupyterLab 上有文档。如果您在 VM 上运行并且知道实例名称,则可以建立进入 VM 的 SSH 隧道。来自文档:

    按照以下步骤设置 SSH 端口转发,然后通过本地浏览器访问您的 JupyterLab 会话:

    1. 在 Cloud Shell 或安装了 Cloud SDK 的本地环境中键入以下命令。

      gcloud compute ssh --project PROJECT_ID \
          --zone ZONE \
          INSTANCE_NAME -- -L 8080:localhost:8080
      

      替换以下内容:

      • PROJECT_ID:你的项目ID
      • ZONE:您的实例所在的 Google Cloud 区域
      • INSTANCE_NAME: 你的实例名称
    2. 如果您在本地计算机上运行该命令,请访问 https://localhost:8080 以访问 JupyterLab。

      如果使用 Cloud Shell,请通过端口 8080 上的 Web Preview 访问 JupyterLab。Web Preview 按钮 Web Preview Button 位于 Cloud Shell 任务栏的右上角。

    如果您正在运行笔记本实例,请转到 Notebooks page 并单击实例名称。您应该会看到一种通过云 shell 或 SSH 进行连接的方式。如果您正在运行 DataProc JupyterHub 集群,则需要在 kubernetes workloads 中查找您的 pod。在 pod 页面中,您应该有一个菜单图标,允许您通过 KUBECTL 进行 SSH 访问。

    【讨论】:

    • 非常感谢,但我需要一些不同的东西。这个 SSH 让我进入了 VM 实例,但没有进入运行在 VM 上的 docker 容器。这就是我需要的。这有意义吗?
    • 您能否提供有关您正在使用的特定服务/设置的更多详细信息?
    • 这看起来可能是朝着正确的方向前进:towardsdatascience.com/…
    • 再次感谢!我意识到我很好 - 我以为 jupyterlab 在容器内运行,但事实并非如此。不知道我为什么这么想。无论如何,感谢您的出色回答。接受并点赞!
    • 哦,很高兴知道!很高兴这有帮助,感谢您的反馈
    猜你喜欢
    • 1970-01-01
    • 2020-08-10
    • 2020-03-13
    • 2018-11-09
    • 2020-10-27
    • 1970-01-01
    • 2021-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多