data-packed volume container

将数据打包到镜像中,然后通过 docker managed volume 共享

1、先用Dockerfile 构建镜像

第 6 章 存储 - 043 - data-packed volume container-LMLPHP

ADD 将静态文件添加到容器目录 /usr/local/apache2/htdocs

VOLUME 的作用与 -v 等效,用来创建 docker managed volume,mount point 为 /usr/local/apache2/htdocs,因为这个目录就是 ADD 添加的目录,所以会将已有数据拷贝到 volume 中。

2、build 新镜像 datapacked

docker build -t datapacked .

第 6 章 存储 - 043 - data-packed volume container-LMLPHP

3、用新镜像创建 data-packed volume container:

docker create --name vc_data datapacked

第 6 章 存储 - 043 - data-packed volume container-LMLPHP

因为在 Dockerfile 中已经使用了 VOLUME 指令,这里就不需要指定 volume 的 mount point 了

4、启动 httpd 容器并使用 data-packed volume container:

docker run -d -p 80:80 --volumes-from vc_data httpd

第 6 章 存储 - 043 - data-packed volume container-LMLPHP

容器能够正确读取 volume 中的数据。

data-packed volume container 是自包含的,不依赖 host 提供数据,具有很强的移植性,非常适合 只使用 静态数据的场景,比如应用的配置信息、web server 的静态文件等。

---------------------------------------引用来自---------------------------------------------------

https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587730&idx=1&sn=4acf36ea269c40ecc696158e2d904667&chksm=8d30810bba47081d436b2ead837dce43e5f93ea7648efbdd8ac7d0bd47df2acb03cbb2c72c5a&scene=21#wechat_redirect

05-11 18:27