文档章节

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

CloudMAN
 CloudMAN
发布于 2017/07/19 06:29
字数 382
阅读 79
收藏 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
粉丝 515
博文 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

没有更多内容

加载失败,请刷新页面

加载更多

iOS补位动画、沙漏效果、移动UITableViewCell、模拟贪吃蛇、拖拽进度等源码

iOS精选源码 JHAlertView - 一款黑白配色的HUD之沙漏效果 继承UIButton的自定义按钮SPButton 用递归算法实现iOS补位动画 iOS 长按移动UITableViewCell JHLikeButton - 有趣的点赞动画 兼容X...

Android爱开源
8分钟前
0
0
08.Beetl自定义方法以及直接访问java类方法---《Beetl视频课程》

本期视频实现了发布评论时间自定义显示; 内容简介:使用了自定义方法以及直接访问java方法实现了发布时间自定义显示 一起学beetl目录:https://my.oschina.net/u/1590490?tab=newest&catal...

Gavin-King
9分钟前
0
0
上币至iamToken

https://github.com/consenlabs/token-profile 点击Fork按钮,插入到自己的github项目中 cd /Users/shijun/Desktop/blockChain/iamToken git clone https://github.com/yellmi1983/token-pro......

八戒八戒八戒
11分钟前
0
0
spark——sparkCore源码解析之RangePartitioner

HashPartitioner分区可能导致每个分区中数据量的不均匀。而RangePartitioner分区则尽量保证每个分区中数据量的均匀,将一定范围内的数映射到某一个分区内。分区与分区之间数据是有序的,但分...

freeli
11分钟前
1
0
常用的ES6语法

什么是ES6?   ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。Mozilla公司将在这个标准的基础上,推出JavaScript 2.0。   ECMAScript和JavaScr...

peakedness丶
15分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部