如何将 vscode 远程容器与 docker 机器(和 docker 工具箱)一起使用?

How to use vscode remote containers with docker machine (and docker toolbox)?

我使用 Windows 7 并且无法为 Windows 安装 Docker,所以我使用 Docker 工具箱。

Docker Microsoft 不支持工具箱 Visual Studio 远程容器开发代码。

但我需要在我的 docker 工具箱中使用此功能。

Github 上有一个问题尚未解决 https://github.com/microsoft/vscode-remote-release/issues/95

Docker Toolbox 是基于docker-machine 和virtualbox 使用本地VM 的产品。该 VM 默认共享所有用户配置文件,因此您可以使用路径 /c/user//folder/a/b.[= 与 VM 中的容器共享配置文件中的任何文件夹13=]

警告:小心避免与您不信任的图像共享您的所有用户个人资料

使用 docker 机器时启用 VSCode 远程容器的步骤

您需要启动您的 docker 机器(使用 vscode 1.40.2+ 测试)

在您的 .devcontainer.json 中,您可以覆盖工作区装载卷命令(更多信息 here

"workspaceMount": "src=//c/Users/yourusername/git/reponame,dst=/workspaces/reponame,type=bind,consistency=delegated"

VSCode 在 /workspaces 中搜索容器内与原来同名的默认工作空间并自动打开,但如果需要可以在 .devconatiner 中覆盖它或手动打开它。

重要:您的存储库应始终位于您的 windows 用户配置文件 (%userprofile%) 中。这是 Docker 工具箱默认共享的要求。

注意:Docker Toolboox 的问题是 Visual Studio 代码不支持 docker-machine 路径样式来挂载默认情况下的卷。但此解决方法可以帮助您。

2020/05/13 更新

使用 1.44 测试它仍然有效,但您还不能使用环境变量来配置安装路径。所以各位开发者在clone repository后应该自定义repo的本地路径。

2020/10/29 更新 Microsoft 添加了有关如何将 VSCode 远程容器与 Docker 机器 here 一起使用的信息。 Microsoft 文档让您 想象 您应该使用哪种路径,因为它不假定 docker 机器环境是本地 VM。在这里您可以找到有用的答案。