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

时间:2017-08-21 01:26:32

标签: docker

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

我通常做事的方式(我猜这很常见):我在主机上有一个目录,它只包含源代码,使用docker卷挂载到开发容器中,我的软件在这里构建,执行。由于卷处于同步状态,因此源中的任何更改都会反映在容器中。

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

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

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

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

Windows > Samba > Linux Host > Docker > Container

我不想切换IDE(VS代码)。

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:3)

您基本上希望可以将卷从容器反向安装到主机。遗憾的是,Docker无法做到这一点,这里有一些问题的变体:How to mount a directory in docker container to host

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

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

否则,您可以通过在输入时(在安装所有依赖项之后)将文件复制到/tmp/include并将主机卷装载到该位置来自动执行此操作。

相关问题