当前位置: 首页 > 知识库问答 >
问题:

使用 VS 代码在远程 SSH 主机中打开容器

乜栋
2023-03-14

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

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

共有1个答案

封德华
2023-03-14

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

步骤1

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

步骤2

将 VS 代码连接到远程 SSH 服务器

第三步

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

步骤3.1

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

$ docker上下文创建my-remote-docker-machine-docker " host = ssh://username @ host:port "

$ docker context ls

$docker上下文使用我的远程docker机器

第3.2步

$docker ps-a

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

现在让我们回到VScode,点击侧栏菜单中的Docker,你会注意到一个警告 连接失败。泊坞窗正在运行吗?了解有关此错误的更多信息

故障 排除

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

    < li >从VS代码中卸载Docker扩展。关闭所有VS代码窗口。 < li >再次启动VS代码。使用` Remote-SSH:连接到主机..连接到远程机器。 < li >打开扩展市场并在远程计算机上安装Docker扩展(请参见下面的屏幕截图)
  • Docker扩展一旦远程安装,也可以在本地安装。

第四步

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

步骤5

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

 类似资料:
  • 问题内容: 我刚刚注册了这个问题。关于是否可以使用VS Code在Docker容器中远程调试python代码。我在这里有一个完全配置的Docker容器。我在这方面获得了一些帮助,无论如何我还是Docker的新手。在其中运行Odoo v10。但是我无法在VS Code中进行远程调试。我已经尝试过这种解释,但我真的不明白。可能吗 如果是的话,我该如何运作?我正在使用VS Code 1.6.1和Don

  • 章节简述:  本章讲解了如何使用nmtui命令配置网卡参数,以及通过nmcli命令查看网络信息并管理网络会话服务,从而让读者能够在不同工作场景中快速地切换网络运行参数;还讲解了如何手工绑定round-robin轮询模式双网卡,实现网络的负载均衡。 本章深入介绍了SSH协议与sshd服务程序的理论知识、Linux系统的远程管理方法以及在系统中配置服务程序的方法,并采用实验的形式演示了使用基于密码与密

  • 我重新安装了服务器,收到以下消息: 我已经尝试了我在互联网上找到的各种解决方案。我的文件(通常在)在中。我试着编辑它,但它仍然保持一种状态。我已经安装了ipa-client和Fedora19。如何解决此警告? 只有在您没有安装Freeipa的情况下,到目前为止回答的所有答案才起作用。

  • 我无法从gitlab CI/CD管道运行程序使用SSH在远程主机上成功docker compose。 docker compose失败,出现以下错误: 我不能在Gitlab之外重现这个问题。意思是,我尝试在我的本地机器上运行相同的docker映像我的gitlab部署步骤使用,在我的脚本中手动执行完全相同的命令,它像一个魅力... 我甚至通过连接到主机并打印来尝试脚本中的ssh配置,并且成功。 多谢

  • 我在VS代码上得到了这个错误,但不知道为什么它会失败

  • 我正在使用linux的Windows子系统,到目前为止,最好的文本编辑器体验是VS Code-内部人员和他们的WSL远程插件。然而,尽管反复努力,我只在复制功能方面取得了部分成功,在我的WSL(zsh)终端中,我可以键入或来打开代码中的目录。我确实有一个功能可以使用,在代码内部人员中打开WSL目录,但它不通过WSL接口,所以我使用的是powershell/windows环境,我想要所有的linux