使用 VSCode 在远程 SSH 主机中打开容器

Nyx*_*nyx 11 docker visual-studio-code vscode-remote

使用远程开发扩展包,Visual Studio Code 能够打开在当前系统上运行的 Docker 容器,并在使用 SSH 连接的远程主机上打开文件夹。

如果有一个 Docker 容器在远程 SSH 主机上运行,​​VSCode 如何打开这个容器中的文件/文件夹?

Ham*_*Ali 16

所以你想在远程 SSH 服务器的容器内打开一个文件夹。以下是我实现它的步骤。

第1步

在 VSCode 中安装远程开发扩展并打开其控制面板

在此处输入图片说明

第2步

将 VSCode 连接到远程 SSH 服务器

在此处输入图片说明

第 3 步

连接后,您会注意到一个绿色的勾号,表示您已连接到远程服务器,现在从远程资源管理器下拉列表中选择容器。您将看到一个容器列表。如果您没有看到容器列表或如果您看到本地容器列表,请继续操作,否则转到步骤 4

在此处输入图片说明

步骤 3.1

通过在终端中执行以下命令向 docker 添加新上下文。

$ docker context create my-remote-docker-machine --docker "host=ssh://username@host:port"

$ docker context ls

$ docker context use my-remote-docker-machine

步骤 3.2

$ docker ps -a

您会注意到上面的命令现在列出了来自远程服务器的所有容器(这是因为您刚刚添加的上下文)

现在让我们回到 VScode,单击Docker侧栏菜单中的 ,您会注意到警告无法连接。Docker 正在运行吗? 了解有关此错误的更多信息

在此处输入图片说明

故障排除

验证 Docker 扩展是否安装在远程机器上。截至 2020 年 2 月,VS Code存在一个错误,如果 Docker 扩展已在本地安装,则该错误会阻止远程安装 Docker 扩展。此错误计划在 VS Code 1.43 版本中修复。此处描述了远程安装扩展的解决方法。

  • 从 VS Code 中卸载 Docker 扩展。关闭所有 VS Code 窗口。
  • 再次启动 VS Code。使用“Remote-SSH: Connect to Host..”连接到远程机器。
  • 打开扩展市场并在远程机器上安装 Docker 扩展(见下面的截图)

在此处输入图片说明

  • 一旦远程安装了 Docker 扩展,它也可以在本地安装。

第四步

从容器列表中选择您希望 VSCode 连接到的目标容器。

在此处输入图片说明

第 5 步

瓦拉!VSCode 连接到远程服务器内的容器,您可以单击资源管理器并选择容器内的任何文件夹/目录并开始在该目录中工作。

在此处输入图片说明