Docker 数据容器、boot2docker 和本地文件系统
Docker data container, boot2docker, and the local file system
我正在慢慢了解当前的 Docker 实践。我在 Mac 上,我正在使用 boot2docker。
我已经能够使用 docker -v local/directory:container/directory 方法将容器目录 link 到我的本地文件系统。太棒了,现在我可以在我的本地 Mac 文件系统中轻松编辑站点代码等内容,并立即将更改提供给我的容器(例如 /var/www/html)。
我现在正试图将我的容器分成离散的关注点。例如,Web、数据库和文件(例如 busybox)容器对于 Wordpress 站点很有用。事情是,我不知道如何让我的文件容器定义卷,然后我可以 link 到我的本地 OS (类似于 -v local/directory:container/directory boot2docker).
使用
这可能不是最 eloquent 的问题,因为我仍在摸索着学习 Docker,但如果您能理解我想要实现的目标,我将不胜感激提供的任何指导。
谢谢!
我将使用两个 docker 个容器作为我的简单示例
marginalized_liskov
和 plagiarized_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
使用 --volumes-from
标志从 marginalized_liskov
安装卷。
我正在慢慢了解当前的 Docker 实践。我在 Mac 上,我正在使用 boot2docker。
我已经能够使用 docker -v local/directory:container/directory 方法将容器目录 link 到我的本地文件系统。太棒了,现在我可以在我的本地 Mac 文件系统中轻松编辑站点代码等内容,并立即将更改提供给我的容器(例如 /var/www/html)。
我现在正试图将我的容器分成离散的关注点。例如,Web、数据库和文件(例如 busybox)容器对于 Wordpress 站点很有用。事情是,我不知道如何让我的文件容器定义卷,然后我可以 link 到我的本地 OS (类似于 -v local/directory:container/directory boot2docker).
使用这可能不是最 eloquent 的问题,因为我仍在摸索着学习 Docker,但如果您能理解我想要实现的目标,我将不胜感激提供的任何指导。
谢谢!
我将使用两个 docker 个容器作为我的简单示例
marginalized_liskov
和 plagiarized_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
使用 --volumes-from
标志从 marginalized_liskov
安装卷。