data-packed volume container - 每天5分钟玩转 Docker 容器技术(43)
博客专区 > CloudMAN 的博客 > 博客详情
data-packed volume container - 每天5分钟玩转 Docker 容器技术(43)
CloudMAN 发表于5个月前
data-packed volume container - 每天5分钟玩转 Docker 容器技术(43)
  • 发表于 5个月前
  • 阅读 44
  • 收藏 0
  • 点赞 1
  • 评论 3

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 在上一节的例子中 volume container 的数据归根到底还是在 host 里,有没有办法将数据完全放到 volume container 中,同时又能与其他容器共享呢?

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

当然可以,通常我们称这种容器为 data-packed volume container。其原理是将数据打包到镜像中,然后通过 docker managed volume 共享。

我们用下面的 Dockerfile 构建镜像:

207.png

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

build 新镜像 datapacked:

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

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

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

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

二维码+指纹.png

标签: Docker 容器 教程
共有 人打赏支持
粉丝 352
博文 283
码字总数 171800
评论 (3)
追风无影
这么早就已经更新了DOCKER文章,令我佩服。
追风无影
文章中的Dockfile,应该是笔误,应该为Dockerfile.
CloudMAN

引用来自“追风无影”的评论

文章中的Dockfile,应该是笔误,应该为Dockerfile.

回复@追风无影 : 多谢指正
×
CloudMAN
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: