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

Luc*_*cas 3 docker

我使用 docker 进行软件开发,因为我可以将所有依赖项(编译器、库等)捆绑在一个良好的包含环境中,而不会污染主机。

我通常做事的方式(我想这很常见):我在主机上有一个目录,仅包含源代码,该目录使用 docker 卷安装到开发容器中,我的软件在其中构建和执行。由于卷是同步的,源中的任何更改都会反映在容器中。

这里有一个陷阱:当使用代码编辑器时,软件依赖关系被认为是破坏的,因为它们无法从主机访问。因此 linting 等...不起作用。

我希望能够/usr/local/include从容器安装到主机上,以便正确配置我的编辑器,我可以修复所有警告。

我想 docker Volume 不是这里的解决方案,因为它会覆盖所包含的文件系统......

另外,我使用的是 Windows(这里没有选择),因此我的流程是:

Windows > Samba > Linux Host > Docker > Container

我不想切换 IDE(VS Code)。

有任何想法吗?谢谢你!

Rea*_*lar 5

您基本上希望可以将卷从容器反向安装到主机。不幸的是,这对于 Docker 来说是不可能的,这里有这个问题的变体:How to mount a directory in docker container to host

您必须将文件从容器复制到主机。至于主机路径匹配/usr/local/include或必须使用不同的文件夹取决于您的设置。

不需要更改 docker 映像的最简单的解决方案是使用docker cp复制文件。

否则,您可以通过让条目上的映像(安装所有依赖项后)将文件复制到/tmp/include该位置并将主机卷安装到该位置来自动执行此操作。