Docker + Ubuntu + Virtualbox:dockerfile中的“volumes”指令不起作用?请参阅下面的解决方案。
答案 0 :(得分:9)
在这里测试Docker并且已经存在问题:dockerfile中的"volumes" directive似乎无法在Ubuntu中运行 - 在Mac和Windows中都可以。 docker-machine和docker-compose的所有进程都正常,环境有问题,但文件系统没有共享文件夹。
在尝试了许多事情和大量研究我的朋友之后,我们在GitHub中发现了这个问题:" Add support to mount Linux host homedir"。
基本上,问题是Docker在容器中装载主机主目录时失败了。他们计划在未来版本中包含修复程序,但同时,如果您现在需要使用,那么您需要做的就是。
打开Virtualbox界面,右键单击您的计算机,设置>共享文件夹。您可以删除任何已填充的内容并添加新内容。在路径中,选择您的/home
和名称Users
(可以是任何名称,但这个名称与Mac和Windows名称一致)。检查自动安装和持久性,然后按"确定"。
之后,您使用docker-machine ssh [name]
进入您的计算机,并且必须从docker中的共享主文件夹(已映射的主机)创建一个来自/home
来宾的符号链接:
ln -s "/Users/[username]/${d}" "/home/${d}"
从这里开始,映射必须正常,你还好! \ O /
PS to frontenders :如果您打算在项目中使用LiveReload,则需要在终端中运行vboxmanage controlvm default natpf1 "35729,tcp,127.0.0.1,35729,,35729"
(不在docker机器内,在主机中) - - 只为所有项目一次。