data-packed volume container - 天天5分钟玩转 Docker 容器技术(43)

在上一节的例子中 volume container 的数据归根到底仍是在 host 里,有没有办法将数据彻底放到 volume container 中,同时又能与其余容器共享呢?web

固然能够,一般咱们称这种容器为 data-packed volume container。其原理是将数据打包到镜像中,而后经过 docker managed volume 共享。docker

咱们用下面的 Dockerfile 构建镜像:apache

207.png

ADD 将静态文件添加到容器目录 /usr/local/apache2/htdocs。
VOLUME 的做用与 -v 等效,用来建立 docker managed volume,mount point 为 /usr/local/apache2/htdocs,由于这个目录就是 ADD 添加的目录,因此会将已有数据拷贝到 volume 中。 学习

build 新镜像 datapacked:ui

用新镜像建立 data-packed volume container:code

由于在 Dockerfile 中已经使用了 VOLUME 指令,这里就不须要指定 volume 的 mount point 了。启动 httpd 容器并使用 data-packed volume container:server

容器可以正确读取 volume 中的数据。data-packed volume container 是自包含的,不依赖 host 提供数据,具备很强的移植性,很是适合 只使用 静态数据的场景,好比应用的配置信息、web server 的静态文件等。生命周期

容器数据共享就讨论到这里,下一节咱们学习如何对 data volume 的生命周期进行管理。

二维码+指纹.png容器

相关文章
相关标签/搜索