在主机上挂载开发Docker容器目录

3
我在进行软件开发时,使用Docker。我可以将所有依赖项(编译器、库等)打包到一个容器化环境中,而不会污染主机。
通常的做法是:我在主机上有一个目录,只包含源代码,并使用Docker卷将其挂载到开发容器中,在那里构建和执行我的软件。由于卷是同步的,源代码中的任何更改都会反映在容器中。
这里有个问题:当使用代码编辑器时,软件依赖项被认为是损坏的,因为它们不能从主机访问。因此,无法进行linting等操作。
我想能够将容器内的 /usr/local/include 挂载到主机上,通过正确配置我的编辑器,修复所有警告。
我猜Docker卷并不是解决方案,因为它会覆盖包含文件系统...
另外,我正在使用Windows(没有选择),因此我的流程如下: Windows > Samba > Linux Host > Docker > Container 我不想换IDE(VS Code),有什么想法吗?谢谢!
2个回答

5
您基本上希望能够将容器中的卷反向挂载到主机上。不幸的是,Docker 不支持此功能,并且这里有类似问题的变体:如何将 Docker 容器中的目录挂载到主机
您只能将文件从容器复制到主机上。至于主机路径是否与 /usr/local/include 匹配或者是否需要使用其他文件夹取决于您的设置。
最简单的解决方案是不需要更改 Docker 镜像,而是使用 docker cp 命令来复制文件。
否则,您可以通过在进入镜像后(安装所有依赖项之后)将文件复制到 /tmp/include 并将主机卷挂载到该位置来自动化此过程。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接