首页 > 解决方案 > 使用 Google AI Platform Notebook 实例,我如何从本地机器 ssh 到 jupyterlab 容器?

问题描述

我正在尝试将 VS Code Remote Development 连接到使用 AI Platform(笔记本实例)在 Google Cloud 上运行的 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.

标签: dockervisual-studio-codegoogle-cloud-platformsshgoogle-ai-platform

解决方案


谷歌有关于使用 ssh 访问 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 实例,请转到Notebooks 页面并单击实例名称。您应该会看到一种通过云 shell 或 SSH 进行连接的方式。如果您正在运行 DataProc JupyterHub 集群,则需要在您的kubernetes 工作负载中查找您的 pod 。在 pod 页面中,您应该有一个菜单图标,允许您通过 KUBECTL 进行 SSH 访问。


推荐阅读