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

我最近发现生产服务器可能具有Windows 10 Home,该Windows 10 Home不支持Windows的Docker。所以,我的想法是我应该恢复到docker toolbox来为该场景做准备。

因此,我卸载了适用于Windows的Docker并安装了Docker工具箱。我可以用docker-compose build构建镜像,但是现在当我运行docker compose up -d时,我的两个容器立即崩溃,因为/ src /目录从未挂载。

我可以通过运行docker exec -it ng01 bash并查看卷目录是否存在但为空来验证是否未装入卷。我的2位同事可以使用docker toolbox在Windows机器上重现此问题。

有谁知道为什么会这样,或者如何解决?我一直在看很多类似的SO帖子,但是各种解决方案使我无所适从。我希望得到一些指导。

Here是我的docker-compose文件。

我的源代码在src /中。

我在docker /中有我的Dockerfile

Here是hotloader.Dockerfile。
Here是web.Dockerfile。我不认为这是问题,但无论如何我还是要分享一下。

先感谢您!

最佳答案

适用于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/

希望这可以帮助! :)

关于windows - 卷未使用docker-compose在Windows的docker工具箱上安装,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43082515/

10-12 00:17
查看更多