使用Docker构build和运行开发环境

我们正在尝试创build一个Docker容器来托pipe和运行我们的webapp(主要是用Symfony2编写的PHP)。

目前,容器embedded所有的应用程序代码,在构build图像时克隆(通过Dockerfile)。 该应用程序通过Vagrant(Precise64基本图像)在OSX上正确运行。 我们正在努力与主机(Vagrant – > OSX)共享容器embedded代码用于开发目的(编辑OSX主机上的文件应该影响容器代码)。 似乎没有办法将此文件夹从容器共享到主机。 从主机共享一个文件夹到容器( run命令的-v选项)将覆盖原始容器文件夹。 由于主机(Vagrant和OSX)无法读取原始位置,所以软链接不起作用。

我敢肯定,解决scheme是与Docker的卷( http://docs.docker.io/en/latest/use/working_with_volumes/ ),但我们还没有想出如何使其工作。

你有反馈/经验吗?

您可以在OSX中将您的文件共享到以下行中的容器:

 OSX dir(host) -shared fold-> /vagrant(vagrant) -volume-> container dir(container) 

但该文件保存在你的主机不是容器。

如果你想将文件保存在容器中并将其共享到OSX主机,则所有容器文件位于/ var / lib / docker / aufs / mnt / {container id}中的aufs目录中,您可以将这个文件共享给你OSX由stream浪者或其他人支持的羽毛:

 container dir(container) -aufs-> /var/lib/docker/aufs/mnt/{id}(vagrant) -some-> OSX dir(host)