我们正在尝试创建一个Docker容器来托管和运行我们的webapp(主要是用PHP编写的Symfony2)。
目前,容器嵌入了构建映像时克隆的所有应用程序代码(通过Dockerfile)。该应用程序在OSX上通过Vagrant(Precise64基本映像)正确运行。
我们现在正在努力与主机(Vagrant - > OSX)共享容器嵌入代码以用于开发目的(编辑主机OSX上的文件应该影响容器代码)。
似乎无法将此文件夹从容器共享到主机。
从主机到容器共享文件夹(-v
命令的run
选项)会覆盖原始容器文件夹。
由于主机(Vagrant和OSX)无法读取原始位置,因此软链接无法正常工作。
我确信解决方案是使用Docker的卷(http://docs.docker.io/en/latest/use/working_with_volumes/),但我们还没有想出如何使其工作。
你有反馈/经验吗?
答案 0 :(得分:3)
您可以在以下行中将OSX中的文件共享到容器中:
OSX dir(host) -shared fold-> /vagrant(vagrant) -volume-> container dir(container)
但该文件保存在您的主机而不是容器中。
如果您想将文件保存在容器中并将其共享给您的OSX主机,那么您的所有容器文件都位于/ var / lib / docker / aufs / mnt / {container id}中的aufs目录中,您可以共享此折叠由流浪者或其他人支持的羽毛给你OSX:
container dir(container) -aufs-> /var/lib/docker/aufs/mnt/{id}(vagrant) -some-> OSX dir(host)