我按照此处的说明进行操作
我添加了
"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
答案 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 连接会很有帮助。)祝您好运!