首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无根码头(远程系统)和VS代码-将VS代码附加到容器失败

无根码头(远程系统)和VS代码-将VS代码附加到容器失败
EN

Stack Overflow用户
提问于 2022-03-02 12:16:25
回答 1查看 486关注 0票数 0

我正在使用以下设置

  • 远程系统

代码语言:javascript
复制
- Running "rootless Docker"
- Docker context named "rootless" being active
- VS Code Docker extension being installed

  • VS代码-使用“远程扩展”

通过SSH连接到远程计算机

代码语言:javascript
复制
- Building and runing the Docker container using rootless Docker
- Checking that the "rootless" Docker context is selected
- Trying to use "right-click" option on container "Attach Visual Studio Code", which will fail with the following error message:

无法连接到unix://var/run/docker.sock上的Docker守护进程。码头守护进程正在运行吗?

VS Code试图引用“默认”Docker上下文,同时选择“无根”Docker上下文,在我的示例中是:

代码语言:javascript
复制
rootless *    Rootless mode    unix:///run/user/1001/docker.sock

同样,当"docker.host“设置为无根Docker之一或如果"docker.context”设置为“无根”时,使用“附加Visual代码”将失败,同时也会出现相同的错误消息。

所做的工作如下:

本地机器上为远程docker context create <some_name> --docker host="ssh://<user>@<ip address>

  • VS代码定义码头上下文的
  • --连接到本地机器
    • ,选择远程machine
    • Using的Docker上下文“附加Visual代码”以附加到远程container

有人知道如何修复这个问题吗?这样就可以直接从VS代码窗口将Visual代码附加到远程系统了吗?

EN

回答 1

Stack Overflow用户

发布于 2022-06-08 16:09:02

我的SSH配置如下

代码语言:javascript
复制
Host remote
    HostName 1.2.3.4
    User ubuntu
    IdentityFile ~/.ssh/remote
    SetEnv DOCKER_HOST=unix:///run/user/1001/docker.sock
    SetEnv PATH=/home/ubuntu/bin:$PATH

我已经创建了名为remote的SSH密钥对,该密钥对位于本地~/.ssh/下。对于SetEnv,一旦安装了没有根目录的对接器,您就应该获得该信息。

在VS代码中,我的用户settings.json中有一行

代码语言:javascript
复制
"docker.host": "ssh://remote",

其中"remote“是与我的SSH配置匹配的名称。在这些步骤之后,您应该能够附加到正在运行的远程容器上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71322556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档