如何共享数据?- 每天5分钟玩转 Docker 容器技术(41)
2017-07-14 06:49
676 查看
数据共享是 volume 的关键特性,本节我们详细讨论通过 volume 如何在容器与 host 之间,容器与容器之间共享数据。
我们有两种类型的 data volume,它们均可实现在容器与 host 之间共享数据,但方式有所区别。
对于 bind mount 是非常明确的:直接将要共享的目录 mount 到容器。具体请参考前面 httpd 的例子,不再赘述。
docker managed volume 就要麻烦点。由于 volume 位于 host 中的目录,是在容器启动时才生成,所以需要将共享数据拷贝到 volume 中。请看下面的例子:
Linux 的
/var/lib/docker/volumes/xxx。
第一种方法是将共享数据放在 bind mount 中,然后将其 mount 到多个容器。还是以 httpd 为例,不过这次的场景复杂些,我们要创建由三个 httpd 容器组成的 web server 集群,它们使用相同的 html 文件,操作如下:
将 $HOME/htdocs mount 到三个 httpd 容器。
查看当前主页内容。
修改 volume 中的主页文件,再次查看并确认所有容器都使用了新的主页。
另一种在容器之间共享数据的方式是使用 volume container,下节讨论。
有个好消息:出版社现在搞促销,《每天5分钟玩转OpenStack》全网最低价销售,有兴趣的同学可以访问 https://detail.tmall.com/item.htm?id=543416839771 了解详情 。
容器与 host 共享数据
我们有两种类型的 data volume,它们均可实现在容器与 host 之间共享数据,但方式有所区别。对于 bind mount 是非常明确的:直接将要共享的目录 mount 到容器。具体请参考前面 httpd 的例子,不再赘述。
docker managed volume 就要麻烦点。由于 volume 位于 host 中的目录,是在容器启动时才生成,所以需要将共享数据拷贝到 volume 中。请看下面的例子:
docker cp可以在容器和 host 之间拷贝数据,当然我们也可以直接通过
Linux 的
cp命令复制到
/var/lib/docker/volumes/xxx。
容器之间共享数据
第一种方法是将共享数据放在 bind mount 中,然后将其 mount 到多个容器。还是以 httpd 为例,不过这次的场景复杂些,我们要创建由三个 httpd 容器组成的 web server 集群,它们使用相同的 html 文件,操作如下:将 $HOME/htdocs mount 到三个 httpd 容器。
查看当前主页内容。
修改 volume 中的主页文件,再次查看并确认所有容器都使用了新的主页。
另一种在容器之间共享数据的方式是使用 volume container,下节讨论。
有个好消息:出版社现在搞促销,《每天5分钟玩转OpenStack》全网最低价销售,有兴趣的同学可以访问 https://detail.tmall.com/item.htm?id=543416839771 了解详情 。
相关文章推荐
- 如何共享数据?- 每天5分钟玩转 Docker 容器技术(41)
- 如何共享数据?- 每天5分钟玩转 Docker 容器技术(41)
- 如何共享数据?- 每天5分钟玩转 Docker 容器技术(41)
- 如何共享数据?- 每天5分钟玩转 Docker 容器技术(41)
- Swarm 如何存储数据?- 每天5分钟玩转 Docker 容器技术(103)
- Swarm 如何存储数据?- 每天5分钟玩转 Docker 容器技术(103)
- 用 volume container 共享数据 - 每天5分钟玩转 Docker 容器技术(42)
- Swarm 如何存储数据?- 每天5分钟玩转 Docker 容器技术(103)
- Swarm 如何存储数据?- 每天5分钟玩转 Docker 容器技术(103)
- 用 volume container 共享数据 - 每天5分钟玩转 Docker 容器技术(42)
- Swarm 如何存储数据?- 每天5分钟玩转 Docker 容器技术(103)
- 用 volume container 共享数据 - 每天5分钟玩转 Docker 容器技术(42)
- 用 volume container 共享数据 - 每天5分钟玩转 Docker 容器技术(42)
- 外部世界如何访问容器? - 每天5分钟玩转 Docker 容器技术(37)
- 容器如何访问外部世界?- 每天5分钟玩转 Docker 容器技术(36)
- overlay 如何实现跨主机通信?- 每天5分钟玩转 Docker 容器技术(52)
- overlay 如何实现跨主机通信?- 每天5分钟玩转 Docker 容器技术(52)
- Docker 组件如何协作?- 每天5分钟玩转容器技术(8)
- overlay 如何实现跨主机通信?- 每天5分钟玩转 Docker 容器技术(52)
- Docker 组件如何协作?- 每天5分钟玩转容器技术(8)