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

时间:2015-02-05 19:42:18

标签: docker boot2docker

我正在慢慢了解当前的Docker实践。我在Mac上,我正在使用boot2docker。

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:3)

Docker Volumes User Guide


我将使用两个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"是您希望在容器中创建新卷的位置

python当然是运行

的应用程序

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


在容器中创建命名卷并将另一个容器安装到该卷

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

这会创建两个容器 marginalized_liskov获取一个名为poop的卷,我是根据postgres培训图像构建的,因为这是用户指南中使用的。由于我们只是设置容器来容纳数据卷而不是托管应用程序,因此使用training / postgres图像可以提供我们的功能,同时保持精简。

plagiarized_engelbart使用marginalized_liskov标记从--volumes-from安装卷。