docker - 使用 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
.
解决方案
谷歌有关于使用 ssh 访问 JupyterLab 的文档。如果您在 VM 上运行并且知道实例名称,则可以建立进入 VM 的 SSH 隧道。从文档:
按照以下步骤设置 SSH 端口转发,然后通过本地浏览器访问您的 JupyterLab 会话:
在 Cloud Shell 或安装了 Cloud SDK 的本地环境中键入以下命令。
gcloud compute ssh --project PROJECT_ID \ --zone ZONE \ INSTANCE_NAME -- -L 8080:localhost:8080
替换以下内容:
PROJECT_ID
:您的项目 IDZONE
:您的实例所在的 Google Cloud 区域INSTANCE_NAME
:您的实例的名称如果您在本地计算机上运行该命令,请访问 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 访问。
推荐阅读
- python - 什么是使用 RNN 进行神经机器翻译的上下文中的投影层?
- manim - 如何将更新程序应用于连接到函数图的线
- django - Django 基于类的视图处理多个查询
- ios - Nativescript 应用程序为 android 构建良好,但不适用于 IOS
- security - 当进程在系统模式/触发器下运行时是否需要检查 isUpdatable() 以通过安全审查过程
- scripting - 在 Win 10 上通过命令提示符运行 J 脚本
- sharepointdocumentlibrary - 在构建 Microsoft Graph API url 时需要帮助
- asp.net - 旧 ASP.NET 项目和 .NET Core 子项目中的 NWebSec 配置相同
- c# - Linq c#查询加入两个多对多关系
- google-cloud-platform - 如何将 OAuth 的 100 个用户上限提高到经过验证的应用程序的 Google API