0

我想使用 VS Code 在远程 Docker 主机上的容器内开发代码,但我无法通过 SSH (ECONNREFUSED 127.0.0.1:80) 连接到远程机器上的 Docker。

按照 VS Code 说明使用 SSH 隧道(https://code.visualstudio.com/docs/remote/containers-advanced#_option-2-connect-using-an-ssh-tunnel)我收到此错误:

“无法连接到 Docker。请确保您已安装 Docker 并且它正在运行。详细信息:连接 ECONNREFUSED 127.0.0.1:80”

我启动了 VS Code (Windows 10),将 docker.host (File->Preferences) 属性更新为:

{
    "docker.host":"tcp://localhost:23750"
}

并跑:

ssh -NL localhost:23750:/var/run/docker.sock user@hostname

看来隧道建立成功了。我在虚拟机 (centOS) 上运行 Docker。

当我打开 Docker 视图并在资源管理器中展开 Containers 节点时,出现上述错误。在我看来,VS Code 似乎试图连接到端口 80,但我在设置中指定了端口 23750。如何成功连接到远程主机?

4

2 回答 2

0

我在这里找到了修复:https ://github.com/microsoft/vscode-docker/issues/580

tcp://从设置中删除前缀docker.host,例如:

"docker.host": "localhost:23750"

于 2019-06-21T20:10:42.390 回答
0

我知道这个问题很老,但是对于仍在寻找选项的人来说,我使用 IPv6 在我的计算机上解决了类似的问题。

所以在你的情况下:

{
    "docker.host":"tcp://[::1]:23750"
}

我在环境变量上配置了主机DOCKER_HOST

于 2022-02-15T02:10:39.627 回答