You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows VS Code远程SSH连接Linux后,自定义Docker Attach命令无效求助

自定义VS Code Docker Attach命令(SSH远程场景)

问题背景

  • 运行场景:Windows 端 VS Code 通过 SSH 连接至 Linux 主机,再通过 VS Code Docker 插件以 docker exec 方式 Attach 到容器,原流程可正常运行
  • 需求:修改默认的 Attach 命令,在 docker exec 后添加 -u username 参数,以指定用户进入容器
  • 遇到的问题:已在本地和远程的 settings.json 中配置如下参数,但无任何效果:
...
"containers.commands.build": "${containerCommand} build --pull --rm -f \"${dockerfile}\" -t ${tag} \"${context}\"",
"containers.commands.attach": "${containerCommand} exec -u username -it ${containerId} ${shellCommand}",
"containers.containers.groupBy": "ContainerId"
...

解决方案

1. 确保配置在正确位置

由于是通过SSH操作远程主机上的容器,配置必须放在远程主机的VS Code设置中,而非本地。操作方式:

  • 在VS Code远程窗口中,按下Ctrl+,打开设置面板
  • 搜索containers.commands.attach,直接在远程设置栏中修改
  • 或者通过命令面板(Ctrl+Shift+P)执行Remote: Open Remote Settings,编辑远程的settings.json

2. 修正命令模板

你当前的配置重复了exec -it部分,导致生成的命令格式错误。正确的配置应该复用${containerCommand}变量(该变量已包含docker exec -it),仅追加-u username参数:

"containers.commands.attach": "${containerCommand} -u username ${containerId} ${shellCommand}"

3. 重启远程窗口生效

修改配置后,通过命令面板执行Remote: Reconnect Window,重新连接远程主机,让新配置生效。

4. 验证结果

Attach到容器后,执行whoami命令,确认当前用户是否为你指定的username。

内容的提问来源于stack exchange,提问作者Robber Pen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 17:28:23