在docker工具箱上为docker-compose创建的卷没有安装

时间:2017-03-29 01:05:02

标签: windows docker docker-compose docker-toolbox

我最初为Docker for Windows配置了Docker设置。一切都很好。我使用docker-compose定义了3个容器,每个容器都有一个卷从我的./src(主机上的路径)映射到/ src /(容器上的路径)。

我最近发现生产服务器可能有Windows 10 Home,它不支持Docker for Windows。所以,我的想法是我应该回到docker工具箱为这种情况做好准备。

所以我卸载了Docker for Windows并安装了Docker工具箱。我可以使用docker-compose build构建我的图像就好了,但现在当我运行docker compose up -d时,我的两个容器会立即崩溃,因为/ src /目录永远不会被挂载。

我可以通过运行docker exec -it ng01 bash验证卷是否未加载,并且看到卷目录存在但是为空。我的两个同事可以在带有docker工具箱的Windows机器上重现这个问题。

有谁知道为什么会这样,或者如何绕过它?我一直在看一堆类似的SO帖子,但各种解决方案让我无处可去。我很感激一些指导。

Here是我的docker-compose文件。

我的源代码在src /.

我在docker /

中有我的Dockerfiles

Here是hotloader.Dockerfile。 Here是web.Dockerfile。我不认为他们是问题,但我还是可以分享他们。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

用于Windows的Docker Toolbox通过设置名为default的VirtualBox VM来工作。运行任何docker命令都会将该命令转发到VM(Windows机器→虚拟机→Docker)。 要将本地Windows文件夹挂载为Docker卷,首先需要共享这些文件夹并将其挂载在运行Docker的VM上。 默认情况下,C:\ Users是共享的,因此无需任何配置即可从该位置装载卷。

因此,您可以将项目移至这个已经共享的位置(C:\ Users),也可以按照本文档https://headsigned.com/posts/mounting-docker-volumes-with-docker-toolbox-for-windows/

中的步骤进行操作

希望这会有所帮助! :)