我正在尝试设置基于 Visual Studio Code 的开发环境。目标是编写和调试在远程 Docker 容器中执行的 Python 代码。
我做了以下事情:我安装了 Visual Studio Code Insiders、Python 扩展和远程开发扩展(3 个扩展合一),在远程计算机(运行 Linux,我是 sudoer)和我的计算机(运行 Windows)上都设置了 SSH。现在我可以通过 SSH 连接到这台远程计算机并在其上执行 Python 代码。这些功能已经很棒了,但我还需要更多。
这台远程机器上正在运行 Docker 服务,我希望能够使用某个 Docker 容器内的 Python 解释器执行 Python 代码,而不是使用远程计算机的 Python 解释器。因此,我没有在我的计算机上下载 Docker 扩展,而是在远程计算机上下载了该扩展(由 Visual Studio Code 提出),然后将 settings.json 文件更改为:
{
"remote.extensionKind": {
"peterjausovec.vscode-docker": "workspace"
}
}
按照所述此处,Docker 扩展限制部分然后,点击左侧的Docker按钮之后,我就可以看到远程计算机上运行的所有容器的列表,真是太棒了。
但是当我尝试将 Visual Studio Code 附加到其中一个容器时,它无法找到 Docker 守护程序。阅读 Docker 守护程序的文档后这里,我使用选项-H tcp://0.0.0.0:22
或重新启动了 Docker 守护程序-H tcp://0.0.0.0:2375
,以便守护程序能够监听从我的计算机远程发出的请求。第一个根本不起作用(守护程序没有启动),第二个起作用了(守护程序启动了)。但是,我仍然无法将 Visual Studio Code 附加到我的容器(Visual Studio Code 仍然找不到守护程序)。
任何帮助将不胜感激!
答案1
问题是我的 Docker 版本很旧,我需要 18.09 版本才能与 Docker 守护进程进行 SSH 通信。