文档章节

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

CloudMAN
 CloudMAN
发布于 2017/07/19 06:29
字数 382
阅读 78
收藏 1

在上一节的例子中 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

© 著作权归作者所有

共有 人打赏支持
CloudMAN
粉丝 511
博文 360
码字总数 221704
作品 0
海淀
加载中

评论(8)

LootanHu
LootanHu
[root@localhost httpd1]# docker volume ls
DRIVER VOLUME NAME
local 1b896a8cc1a8def0d28757af6403b6b1011249376630d4c389b8df2811b902b7
LootanHu
LootanHu
[root@localhost httpd1]# docker container ls -a
a8d241459ab1 datapacked "httpd-foreground" 47 seconds ago Created vc_data
LootanHu
LootanHu
[root@localhost httpd1]# docker create --name vc_data datapacked
a8d241459ab1513ecec2e9711bc2f287c22c53bfe3c4f4ca7a129fb379c6cd4c
LootanHu
LootanHu

引用来自“LootanHu”的评论

请教一下,docker volume create --name vc_data datapacked
确实成功了。

可是这个 vc_data ,究竟是什么东东,使用下面的命令
docker volume ls
docker container ls -a
docker images
均找不到 vc_data 。
刚才眼花,没有看到,不好意思。

通过
docker container ls -a
docker ps -a
均可以找到。

然后通过 docker exec -it vc_data bash ,竟然也可以运行。

所以还是请教一下 vc_data 算是一个 container ,还是 volume 呢。
LootanHu
LootanHu
请教一下,docker volume create --name vc_data datapacked
确实成功了。

可是这个 vc_data ,究竟是什么东东,使用下面的命令
docker volume ls
docker container ls -a
docker images
均找不到 vc_data 。
CloudMAN
CloudMAN

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

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

回复@追风无影 : 多谢指正
追风无影
追风无影
文章中的Dockfile,应该是笔误,应该为Dockerfile.
追风无影
追风无影
这么早就已经更新了DOCKER文章,令我佩服。
万能日志数据收集器 Fluentd - 每天5分钟玩转 Docker 容器技术(91)

前面的 ELK 中我们是用 Filebeat 收集 Docker 容器的日志,利用的是 Docker 默认的 logging driver ,本节我们将使用 来收集容器的日志。 Fluentd 是一个开源的数据收集器,它目前有超过 50...

CloudMan6
2017/11/08
0
0
万能日志数据收集器 Fluentd - 每天5分钟玩转 Docker 容器技术(91)

前面的 ELK 中我们是用 Filebeat 收集 Docker 容器的日志,利用的是 Docker 默认的 logging driver ,本节我们将使用 来收集容器的日志。 Fluentd 是一个开源的数据收集器,它目前有超过 50...

CloudMAN
2017/11/08
0
0
用 Weave Scope 监控集群 - 每天5分钟玩转 Docker 容器技术(175)

创建 Kubernetes 集群并部署容器化应用只是第一步。一旦集群运行起来,我们需要确保一起正常,所有必要组件就位并各司其职,有足够的资源满足应用的需求。Kubernetes 是一个复杂系统,运维团...

cloudman6
05/31
0
0
每天5分钟玩转Docker容器技术(一)

写在最前面 《每天5分钟玩转Docker容器技术》是一个有关容器技术的教程,有下面两个特点: 系统讲解当前最流行的容器技术 从容器的整个生态环境到各种具体的技术,从整体到细节逐一讨论。 重...

2017/12/25
0
0
网络模型 - 每天5分钟玩转 Docker 容器技术(169)

本节我们讨论 Kubernetes 网络这个重要主题。 Kubernetes 作为编排引擎管理着分布在不同节点上的容器和 Pod。Pod、Service、外部组件之间需要一种可靠的方式找到彼此并进行通信,Kubernetes ...

cloudman6
05/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

腾讯投资最高1.75亿美元正式进军菲律宾移动支付市场

菲律宾长途电话公司(PLDT)公司今日宣布,中国互联网巨头腾讯和私募股权公司KKR将获得该公司旗下金融科技公司Voyager Innovations的少数股权。 PLDT在一份声明中称:“腾讯和KKR最多将分别收...

linuxCool
29分钟前
2
0
正则介绍及grep/egrep用法

10月16日任务 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 扩展 把一个目录下,过滤所有*.php文档中含有eval的行 grep -r --include="*.php" 'eval' /data 正则介绍 正则就是一串有规律的字符...

hhpuppy
40分钟前
1
0
J2Cache 中使用 Lettuce 替代 Jedis 管理 Redis 连接

一直以来 J2Cache 都是使用 Jedis 连接 Redis 服务的。Jedis 是一个很老牌的 Redis 的 Java 开发包,使用很稳定,作者维护很勤勉,社区上能搜到的文章也非常非常多。算是使用范围最广的 Redi...

红薯
今天
13
0
一个可能的NEO链上安全随机数解决方案

0x00 困境 链上安全随机数生成应该算是一个比较蛋疼的问题,哪怕你的系统再牛逼,合约程序困在小小的虚拟机里,哪怕天大的本事也施展不开。 更悲催的是,交易执行的时候,是在每一个节点都执...

暖冰
今天
1
0
【大福利】极客时间专栏返现二维码大汇总

我已经购买了如下专栏,大家通过我的二维码你可以获得一定额度的返现! 然后,再给大家来个福利,只要你通过我的二维码购买,并且关注了【飞鱼说编程】公众号,可以加我微信或者私聊我,我再...

飞鱼说编程
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部