VSCode远程资源管理器未显示远程容器

时间:2020-09-22 01:34:10

标签: macos docker visual-studio-code ssh containers

我按照此处的说明进行操作

https://code.visualstudio.com/docs/remote/containers-advanced#_developing-inside-a-container-on-a-remote-docker-host

我添加了

"docker.host":"ssh://your-remote-user@your-remote-machine-fqdn-or-ip-here"

恢复到我的设置,但是该容器未显示在我的远程资源管理器的“容器”部分中。我认为应该使用vscode中的remote-ssh登录包含远程服务器的服务器,因为vscode在我登录之前无法读取服务器上的内容。但是,在我连接之后,该容器仍然没有显示在我的远程资源管理器的“容器”部分中。

然后我尝试使用remote-containers: attach to running container命令进行连接,但是连接到服务器后该命令不可用。值得注意的是

"docker.host":"ssh://your-remote-user@your-remote-machine-fqdn-or-ip-here"

我设置中的

已变暗。当我将鼠标悬停在上面时,它会说

此设置无法在此窗口中应用。当您打开本地窗口时,它将被应用。

我想知道这是否意味着在连接到服务器后,我不应该使用远程容器,因为登录后,远程服务器基本上被视为本地服务器。

在连接的VSCode窗口中,如果我转到docker extension选项卡,则所有远程容器都在那里。

所以现在我想弄清楚如何从未连接的vsscode附加到我的远程容器。我怀疑我需要在某个地方使用我的私钥,例如remote-ssh对该密钥有一个配置文件,但是我在说明中没有看到它。

如果有所不同,我使用的是MacOS

1 个答案:

答案 0 :(得分:1)

我可以附加到远程运行的容器。但是我可以通过将设置 JSON 中关于 docker.host 的部分替换为显然不应该起作用的部分来重现您的问题:例如直接输入 "docker.host":"ssh://your-remote-user@your-remote-machine-fqdn-or-ip-here" 或使用不正确的登录等。

现在我无法再连接到正在运行的容器,远程资源管理器也不会显示它们。这与您的观察相符。

通过单击左下角的状态栏连接到远程主机后,我尝试编辑设置 JSON。此处,docker.host 的字段也显示为灰色。

这表明您的问题的一种可能解释是您为 docker.host 字段输入了错误的值。要检查它是否确实不正确,请尝试使用您在此处用作值的确切登录名从终端 ssh 到主机。如果你让它工作,我希望你的问题得到解决。 (在这种情况下,您可能会发现在某处查找无密码 SSH 连接会很有帮助。)祝您好运!