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

时间:2020-01-12 19:27:13

标签: docker visual-studio-code vscode-remote

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

如果远程SSH主机上正在运行Docker容器,VSCode如何在该容器中打开文件/文件夹?

1 个答案:

答案 0 :(得分:8)

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

第1步

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

enter image description here

第2步

将VSCode连接到远程SSH服务器

enter image description here

第3步

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

enter image description here

步骤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正在运行吗? know more about this bug

enter image description here

问题排查

确认Docker扩展已安装在远程计算机上。作为 2020年2月there is a bug in VS Code阻止了Docker 如果已在本地安装扩展程序,则可以远程安装。 此错误计划在VS Code 1.43版本中修复。一种 要远程安装扩展程序的解决方法是described here

  • 从VS Code卸载Docker扩展。关闭所有VS Code窗口。
  • 再次启动VS Code。使用“远程SSH:连接到主机..”连接到远程计算机。
  • 打开扩展市场并在远程计算机上安装Docker扩展(请参见下面的屏幕截图)

enter image description here

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

第4步

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

enter image description here

第5步

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

enter image description here