使用 VS Code 的 Dev Containers 插件,通过跳板机间接连接.

步骤:

  • 确保跳板机上已安装 Docker,且你能通过 SSH 执行 docker exec。
  • 在本地 VS Code 中:
    • 安装插件:Remote - SSH 和 Dev Containers。
  • 先通过 SSH 连接到跳板机(如 user@jump-host)。
  • 在跳板机的终端中,找到目标容器名或 ID:
    docker ps
    
  • 在 VS Code 中按下 Ctrl+Shift+P,输入并选择:
    Dev Containers: Attach to Running Container...
    
  • 选择你的容器,VS Code 会自动在容器内启动一个 VS Code Server,并打开编辑器。

💡 这种方式不需要容器暴露 SSH 服务,直接通过 Docker API 进入。

可能遇到的问题:

报错 current user does not have permission to run docker

说明你的用户 ssa 没有权限访问 Docker 的 Unix socket,这是典型“用户不在 docker 用户组”的表现。

解决方案(需管理员权限)

第一步:确认 Docker 服务正在运行

sudo systemctl status docker

如果没运行,先启动:

sudo systemctl start docker
sudo systemctl enable docker  # 开机自启(可选)

第二步:将用户 ssa 加入 docker 用户组

sudo usermod -aG docker ssa
-aG 表示 append to Group,不会影响用户原有组。

第三步:重新登录 SSH 会话

这是关键!
组权限变更不会影响已存在的会话。

所以请:
关闭当前终端;
重新通过 SSH 登录:

ssh xxx@your-remote-host
⚠️ 仅执行 newgrp docker 在 VS Code Remote-SSH 环境中可能无效,因为 VS Code 会启动新的 login shell。

第四步:验证是否成功

groups

输出应包含 docker,例如:

docker ps

✅ 如果不再报错,说明成功!

🔒 安全提醒
加入 docker 组 = 获得 等效 root 权限(可通过挂载 /etc、/root 等提权)。

请确保:
你信任该用户;
服务器环境安全;
不在共享生产服务器上随意授权。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐