Hak*_*Lee 27 docker vscode-remote
我想在远程服务器的容器中工作。但它不起作用。
环境:
本地:Windows 10
ssh 的本地终端:Windows 10 中的 WSL
服务器:Ubuntu 18.04
我查了这两篇文章。
https://code.visualstudio.com/docs/remote/containers-advanced https://code.visualstudio.com/docs/containers/ssh
我遵循了这些步骤。
Dan*_*iel 10
我通过切换到本地机器上远程服务器的 Docker 上下文解决了这个问题:
docker context create some-context-label --docker "host=ssh://user@remote_server_ip"
docker context use some-context-label
docker ps
# A list of remote containers on my local machine! It works!
Run Code Online (Sandbox Code Playgroud)
在那之后:
这对我行得通。
(注意:有人会认为我应该能够在切换我的本地上下文后使用我的本地 VSCode(跳过步骤 1)连接到所述远程容器,但 VSCodeFailed to connect. Is docker running?在 Docker 控制面板中抱怨。)
小智 7
我按照https://florian-kriegel.de/blog/?p=234 中的步骤使用 SSH 隧道解决了这个问题
总结:
请注意,在这种情况下不使用远程 SSH 扩展。
这听起来可能很奇怪,但对我来说,在使用 VS Code 中的远程容器扩展之前,我必须在远程 SSH 服务器上打开一个文件夹。如果我不这样做,那么它会不断尝试查找本地运行的 docker 服务,即使终端选项卡已连接到远程 SSH 服务器。
这看起来很奇怪,因为如果你在 VS Code 中通过 SSH 连接,那么扩展应该假设你正在尝试连接到远程服务器上的容器。不必先打开远程文件夹。
通过在远程服务器上“打开一个文件夹”,远程容器扩展能够将 VS 代码附加到在远程 SSH 服务器上运行的容器。我不必执行任何这些文章中的任何步骤。只需简单地使用 Remote SSH 通过 SSH 远程连接 VS Code,打开一个文件夹,然后使用 Remote Containers。
按照上述步骤(/sf/answers/4321015961/),我想出了如何使用 SSH 远程和远程资源管理器扩展。第一步和上面一样:
"docker.host": "tcp://localhost:23750"LocalForward localhost:23750 /var/run/docker.sock备注:以前我使用了本线程前面描述的解决方案(/sf/answers/4321015961/)。在下面描述的解决方案解决之前,我不得不重新启动本地机器和远程机器。
之后我必须使用多个 VSCode Windows:
本地机器:启动 VSCode 并使用“远程资源管理器”使用新的 VSCode 窗口连接到远程机器
VSCode 窗口连接到远程 (SSH)
→ 启动您选择的 Docker 容器
(我无法从此 VSCode 窗口“附加 Visual Studio Code”)
VSCode 窗口连接到本地机器
→ 点击“Docker”扩展,远程运行的 docker 容器被列出。使用以下选项之一将 VSCode 附加到正在运行的容器:
第三个 VSCode 窗口将打开并附加到 Docker 容器。
(+) 使用“远程资源管理器”扩展我可以直接连接并在我的远程机器上一键打开以前使用过的项目文件夹
(-) 需要 3 个 VSCode 窗口(本地机器、远程 ssh 和远程容器)而不是 2 个 VSCode 窗口
| 归档时间: |
|
| 查看次数: |
15859 次 |
| 最近记录: |