Docker数据容器,boot2docker和本地文件系统

通过了解当前的Docker实践,我正在慢慢努力。 我在Mac上,并使用boot2docker。

我已经能够使用docker -v local / directory:container /目录方法将容器目录链接到我的本地文件系统。 太好了,现在我可以在本地Mac文件系统中轻松地编辑站点代码等内容,并立即将更改提供给我的容器(例如/ var / www / html)。

我现在试图将我的容器分成几个不同的问题。 例如,Web,数据库和文件(例如busybox)容器对于Wordpress站点将是有用的。 事情是,我不知道如何让我的文件容器定义卷,然后我可以链接到我的本地操作系统(类似于由boot2docker使用的-v本地/目录:容器/目录)。

这可能不是最有说服力的问题,因为我仍然通过学习Docker摸索,但是如果你能理解我想要实现的目标,我会非常感谢所提供的任何指导。

谢谢!

Docker卷用户指南


我将使用两个docker容器作为我的简单示例

marginalized_liskovplagiarized_engelbart

将主机目录挂载为数据卷(在运行时)

 docker run -d -P --name marginalized_liskov -v /host/directory/context:/container/directory/context poop python server.py 

marginalized_liskov是容器的名称。

poop不仅是我最喜欢的回文,而且还是我们创造的音量的名字。

"/host/directory/context"是您要挂载的主机上的位置

"/container/directory/context"是您希望您的容器中创build新卷的位置

python当然是运行的应用程序

server.py是为此示例提供给“python”的参数。


在容器中创build一个命名卷,并将另一个容器挂载到该容器中

docker create -v /poop --name marginalized_liskov training/postgres docker run -d --volumes-from marginalized_liskov --name plagiarized_engelbart ubuntu

这创build了两个容器。
marginalized_liskov获得一个名为poop创build的卷我从postgres训练图像构build它,因为这是用户指南中使用的。 由于我们只是设置容器来容纳数据量,而不是托pipe应用程序,因此使用培训/ postgres映像在保持精简的同时提供了我们的function。

plagiarized_engelbart使用--volumes-from标志挂载来自marginalized_liskov的卷。