如何共享数据?- 天天5分钟玩转 Docker 容器技术(41)

数据共享是 volume 的关键特性,本节咱们详细讨论经过 volume 如何在容器与 host 之间,容器与容器之间共享数据。html

容器与 host 共享数据

咱们有两种类型的 data volume,它们都可实如今容器与 host 之间共享数据,但方式有所区别。web

对于 bind mount 是很是明确的:直接将要共享的目录 mount 到容器。具体请参考前面 httpd 的例子,再也不赘述。docker

docker managed volume 就要麻烦点。因为 volume 位于 host 中的目录,是在容器启动时才生成,因此须要将共享数据拷贝到 volume 中。请看下面的例子:ui

docker cp 能够在容器和 host 之间拷贝数据,固然咱们也能够直接经过 Linux 的 cp 命令复制到 /var/lib/docker/volumes/xxx。spa

容器之间共享数据

第一种方法是将共享数据放在 bind mount 中,而后将其 mount 到多个容器。仍是以 httpd 为例,不过此次的场景复杂些,咱们要建立由三个 httpd 容器组成的 web server 集群,它们使用相同的 html 文件,操做以下:code

  1. 将 $HOME/htdocs mount 到三个 httpd 容器。
    201.png orm

  2. 查看当前主页内容。
    server

  3. 修改 volume 中的主页文件,再次查看并确认全部容器都使用了新的主页。
    htm

另外一种在容器之间共享数据的方式是使用 volume container,下节讨论。 ci

有个好消息:出版社如今搞促销,《天天5分钟玩转OpenStack》全网最低价销售,有兴趣的同窗能够访问 https://detail.tmall.com/item.htm?id=543416839771 了解详情 。

二维码+指纹.png

相关文章
相关标签/搜索