连接到 VSCode 中的远程 docker 容器的依赖项?
Dependencies to connect to a remote docker container in VSCode?
从 VSCode 连接到远程 docker 容器的依赖项和步骤是什么?所以我可以在我的容器环境中使用工具正确编译和 运行 代码?
我尝试按照此处的说明进行操作,但运气不佳:
我的设置涉及:
Host
VSCode,未安装 docker,已安装 ssh 客户端,ssh 密钥已到位
Server
安装了 VSCode、docker,安装了 ssh 客户端和服务器
Docker container
已经 运行 在 Server
上
Host
可以连接到 Server
,通过 VSCode 使用 Remote Development Version: 0.17.0
扩展,通过 Remote - SSH Version: 0.47.2
扩展
版本:0.47.2
Server
可以连接到 Docker container
,通过 VSCode 使用 Remote Development Version: 0.17.0
扩展,通过 Remote - Containers Version: 0.83.1
扩展。
如何将 Host
连接到 运行ning 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
中看到 运行ning 容器。但是,当尝试连接到它时,我收到以下错误消息。
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
因此,似乎 docker 必须 安装在 host
机器上以防止最后提到的错误。
注意:docker服务不需要运行宁在host
(systemctl disable docker
)
考虑到这一点,这些是步骤。
Host
:
- 安装docker和ssh客户端
- 将您的用户添加到 docker 组
- 安装VSCode
- 配置服务器
- (在下面的服务器配置之后):用
编辑~/.config/Code/User/settings.json
"docker.host":"tcp://localhost:23750",
- 为
Server
配置您的 ssh 密钥
- (每次在终端上重新启动 运行 后:
ssh -N -L localhost:23750:/var/run/docker.sock <user>@<serveraddr>
)
- 运行 VSCode 并安装
Remote Development
扩展。重启 VSCode
- 现在您应该会在 VSCode
Remote explorer
> Containers
> 其他容器 中看到您的 运行ning 容器
Server
:
- 安装docker和ssh服务器
- 安装VSCode(服务器可能不需要)
- 将您的用户添加到 docker 组并启动您的容器
我知道这个问题已经得到解答,但我今天在尝试自己设置时偶然发现了这个问题。我发现另一个问题似乎是我的本地 SSH 密钥没有添加到代理中。我按照说明 here.
我是运行 Windows 10 Version 1909 Build 18363.1082.
在执行 ssh-add $Env:USERPROFILE\.ssh\id_rsa
并重新启动 ssh-agent
后,我能够连接到远程容器,而无需使用上面显示的 ssh 隧道方法。
从 VSCode 连接到远程 docker 容器的依赖项和步骤是什么?所以我可以在我的容器环境中使用工具正确编译和 运行 代码?
我尝试按照此处的说明进行操作,但运气不佳:
我的设置涉及:
Host
VSCode,未安装 docker,已安装 ssh 客户端,ssh 密钥已到位Server
安装了 VSCode、docker,安装了 ssh 客户端和服务器Docker container
已经 运行 在Server
上
Host
可以连接到 Server
,通过 VSCode 使用 Remote Development Version: 0.17.0
扩展,通过 Remote - SSH Version: 0.47.2
扩展
版本:0.47.2
Server
可以连接到 Docker container
,通过 VSCode 使用 Remote Development Version: 0.17.0
扩展,通过 Remote - Containers Version: 0.83.1
扩展。
如何将 Host
连接到 运行ning 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
中看到 运行ning 容器。但是,当尝试连接到它时,我收到以下错误消息。
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
因此,似乎 docker 必须 安装在 host
机器上以防止最后提到的错误。
注意:docker服务不需要运行宁在host
(systemctl disable docker
)
考虑到这一点,这些是步骤。
Host
:
- 安装docker和ssh客户端
- 将您的用户添加到 docker 组
- 安装VSCode
- 配置服务器
- (在下面的服务器配置之后):用 编辑
~/.config/Code/User/settings.json
"docker.host":"tcp://localhost:23750",
- 为
Server
配置您的 ssh 密钥
- (每次在终端上重新启动 运行 后:
ssh -N -L localhost:23750:/var/run/docker.sock <user>@<serveraddr>
) - 运行 VSCode 并安装
Remote Development
扩展。重启 VSCode - 现在您应该会在 VSCode
Remote explorer
>Containers
> 其他容器 中看到您的 运行ning 容器
Server
:
- 安装docker和ssh服务器
- 安装VSCode(服务器可能不需要)
- 将您的用户添加到 docker 组并启动您的容器
我知道这个问题已经得到解答,但我今天在尝试自己设置时偶然发现了这个问题。我发现另一个问题似乎是我的本地 SSH 密钥没有添加到代理中。我按照说明 here.
我是运行 Windows 10 Version 1909 Build 18363.1082.
在执行 ssh-add $Env:USERPROFILE\.ssh\id_rsa
并重新启动 ssh-agent
后,我能够连接到远程容器,而无需使用上面显示的 ssh 隧道方法。