从VSCode连接到远程坞容器的依赖项和步骤是什么?这样我就可以使用容器环境中的工具正确地编译和运行代码了吗?
我试着按照这里的指示行事,但运气不佳:
我的设置包括:
Host有VSCode,没有安装,ssh客户端已安装,ssh密钥已就位Server,安装了VSCode,安装了ssh客户端和服务器Docker container已经在Server上运行Host可以通过VSCode使用Remote Development Version: 0.17.0扩展连接到Server,通过Remote - SSH Version: 0.47.2扩展版本: 0.47.2
Server可以通过VSCode连接到Docker container,使用Remote Development Version: 0.17.0扩展,通过Remote - Containers Version: 0.83.1扩展。
如何将Host连接到正在运行的Docker container
更新1小进位
我已经将这一行添加到我的~/.config/Code/User/settings.json文件中。该选项将使用消息unknown configuration setting来突出显示。
{
...
"docker.host":"tcp://localhost:23750",
...
}在另一个终端中运行此命令:
ssh -N -L localhost:23750:/var/run/docker.sock <user>@<serveraddr>现在,,我可以在Remote explorer > Containers > Other Containers中看到正在运行的容器。但是,当试图连接到它时,我会得到以下错误消息。
Setting up container with bc1700db049858ba20f1c830bbeff6d6a4e04de58a2b35a61df1016788bc07db
Docker returned an error code 127, signal null, message: Command failed: docker system info
/bin/sh: docker: command not found发布于 2019-12-08 01:44:25
因此,看来码头必须安装在host机器上,以防止上次提到的错误。
注意事项:码头服务不需要在host (systemctl disable docker)中运行
考虑到这一点,以下是步骤。
Host
"docker.host":"tcp://localhost:23750",Server配置ssh键ssh -N -L localhost:23750:/var/run/docker.sock <user>@<serveraddr>)Remote Development扩展。重启VSCodeRemote explorer > Containers >其他容器中看到正在运行的容器Server
发布于 2020-09-11 18:11:55
我意识到这个问题已经得到了答案,但是今天我在尝试设置这个问题的时候偶然发现了这个问题。我发现了另外一个问题,似乎是我的本地SSH密钥没有添加到代理中。我是按照这里的指示走的。
我正在运行Windows101909版本的Build 18363.1082。
在执行ssh-add $Env:USERPROFILE\.ssh\id_rsa并重新启动ssh-agent之后,我能够连接到远程容器,而不必使用上面显示的ssh隧道方法。
https://stackoverflow.com/questions/59231497
复制相似问题