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

时间:2014-01-13 09:52:52

标签: symfony vagrant docker lxc

我们正在尝试创建一个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/),但我们还没有想出如何使其工作。

你有反馈/经验吗?

1 个答案:

答案 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)