Docker容器数据卷volumes-from
定义4个终端:
终端host
终端container dc01
终端container dc02
终端container dc03
各个容器之间的关系:
1、启动一个父容器dc01
启动一个父容器dc01,并在 dataVolumeContainer2 新增内容。
命令格式:docker run -it --name dc01 zzyy/centos
操作步骤如下:
终端container dc01:
创建并启动dc01容器,并在 dataVolumeContainer2 目录中添加 dc01.txt
[root@localhost mydocker]# docker run -it --name dc01 zzyy/centos
[root@3caa375ebfd9 /]# ll
total 12
-rw-r--r--. 1 root root 12030 Oct 6 19:15 anaconda-post.log
lrwxrwxrwx. 1 root root 7 Oct 6 19:14 bin -> usr/bin
drwxr-xr-x. 2 root root 6 Nov 27 03:02 dataVolumeContainer1
drwxr-xr-x. 2 root root 6 Nov 27 03:02 dataVolumeContainer2
drwxr-xr-x. 5 root root 360 Nov 27 03:02 dev
drwxr-xr-x. 1 root root 66 Nov 27 03:02 etc
drwxr-xr-x. 2 root root 6 Apr 11 2018 home
lrwxrwxrwx. 1 root root 7 Oct 6 19:14 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Oct 6 19:14 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
dr-xr-xr-x. 264 root root 0 Nov 27 03:02 proc
dr-xr-x---. 2 root root 114 Oct 6 19:15 root
drwxr-xr-x. 10 root root 130 Oct 6 19:15 run
lrwxrwxrwx. 1 root root 8 Oct 6 19:14 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x. 13 root root 0 Nov 27 02:53 sys
drwxrwxrwt. 7 root root 132 Oct 6 19:15 tmp
drwxr-xr-x. 13 root root 155 Oct 6 19:14 usr
drwxr-xr-x. 18 root root 238 Oct 6 19:14 var
[root@3caa375ebfd9 /]# cd dataVolumeContainer2/
[root@3caa375ebfd9 dataVolumeContainer2]# ls
[root@3caa375ebfd9 dataVolumeContainer2]# echo "container dc01 add"> dc01.txt
[root@3caa375ebfd9 dataVolumeContainer2]# ls
dc01.txt
[root@3caa375ebfd9 dataVolumeContainer2]# cat dc01.txt
container dc01 add
[root@3caa375ebfd9 dataVolumeContainer2]#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
终端host:
验证容器启动情况
[root@localhost _data]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3caa375ebfd9 zzyy/centos "/bin/sh -c /bin/bash" 22 minutes ago Up 22 minutes dc01
[root@localhost _data]#
1
2
3
4
2、dc02/dc03继承自dc01
–volumes-form
dc02/dc03分别在dataVolumeContainer2各自新增内容
命令格式
dc02的 格式:
docker run -it --name dc02 --volumes-from dc01 zzyy/centos
1
dc03的格式:
docker run -it --name dc03 --volumes-from dc01 zzyy/centos
1
操作步骤如下:
终端container dc02:
创建并启动dc02容器,并在 dataVolumeContainer2 目录中添加 dc02.txt
[root@localhost java]# docker run -it --name dc02 --volumes-from dc01 zzyy/centos
[root@7dbdb68f3e73 /]# ll
total 12
-rw-r--r--. 1 root root 12030 Oct 6 19:15 anaconda-post.log
lrwxrwxrwx. 1 root root 7 Oct 6 19:14 bin -> usr/bin
drwxr-xr-x. 2 root root 6 Nov 27 03:02 dataVolumeContainer1
drwxr-xr-x. 2 root root 22 Nov 27 03:09 dataVolumeContainer2
drwxr-xr-x. 5 root root 360 Nov 27 03:17 dev
drwxr-xr-x. 1 root root 66 Nov 27 03:17 etc
drwxr-xr-x. 2 root root 6 Apr 11 2018 home
lrwxrwxrwx. 1 root root 7 Oct 6 19:14 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Oct 6 19:14 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
dr-xr-xr-x. 270 root root 0 Nov 27 03:17 proc
dr-xr-x---. 2 root root 114 Oct 6 19:15 root
drwxr-xr-x. 10 root root 130 Oct 6 19:15 run
lrwxrwxrwx. 1 root root 8 Oct 6 19:14 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x. 13 root root 0 Nov 27 02:53 sys
drwxrwxrwt. 7 root root 132 Oct 6 19:15 tmp
drwxr-xr-x. 13 root root 155 Oct 6 19:14 usr
drwxr-xr-x. 18 root root 238 Oct 6 19:14 var
[root@7dbdb68f3e73 /]# cd d
dataVolumeContainer1/ dataVolumeContainer2/ dev/
[root@7dbdb68f3e73 /]# cd cd dataVolumeContainer2/
bash: cd: cd: No such file or directory
[root@7dbdb68f3e73 /]# cd dataVolumeContainer2/
[root@7dbdb68f3e73 dataVolumeContainer2]# ls
dc01.txt
[root@7dbdb68f3e73 dataVolumeContainer2]# cat dc01.txt
container dc01 add
[root@7dbdb68f3e73 dataVolumeContainer2]#
[root@7dbdb68f3e73 dataVolumeContainer2]# echo "container dc02" > dc02.txt
[root@7dbdb68f3e73 dataVolumeContainer2]# ls
dc01.txt dc02.txt
[root@7dbdb68f3e73 dataVolumeContainer2]#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
终端container dc03:
创建并启动dc03容器,并在 dataVolumeContainer2 目录中添加 dc03.txt
[root@localhost java]# docker run -it --name dc03 --volumes-from dc01 zzyy/centos
[root@4dfdba337ef2 /]# ls
anaconda-post.log bin dataVolumeContainer1 dataVolumeContainer2 dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@4dfdba337ef2 /]# ll
total 12
-rw-r--r--. 1 root root 12030 Oct 6 19:15 anaconda-post.log
lrwxrwxrwx. 1 root root 7 Oct 6 19:14 bin -> usr/bin
drwxr-xr-x. 2 root root 6 Nov 27 03:02 dataVolumeContainer1
drwxr-xr-x. 2 root root 22 Nov 27 03:09 dataVolumeContainer2
drwxr-xr-x. 5 root root 360 Nov 27 03:33 dev
drwxr-xr-x. 1 root root 66 Nov 27 03:33 etc
drwxr-xr-x. 2 root root 6 Apr 11 2018 home
lrwxrwxrwx. 1 root root 7 Oct 6 19:14 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Oct 6 19:14 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 2 root root 6 Apr 11 2018 opt
dr-xr-xr-x. 272 root root 0 Nov 27 03:33 proc
dr-xr-x---. 2 root root 114 Oct 6 19:15 root
drwxr-xr-x. 10 root root 130 Oct 6 19:15 run
lrwxrwxrwx. 1 root root 8 Oct 6 19:14 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x. 13 root root 0 Nov 27 02:53 sys
drwxrwxrwt. 7 root root 132 Oct 6 19:15 tmp
drwxr-xr-x. 13 root root 155 Oct 6 19:14 usr
drwxr-xr-x. 18 root root 238 Oct 6 19:14 var
[root@4dfdba337ef2 /]# cd dataVolumeContainer2/
[root@4dfdba337ef2 dataVolumeContainer2]# ls
dc01.txt
[root@4dfdba337ef2 dataVolumeContainer2]# ls
dc01.txt dc02.txt
[root@4dfdba337ef2 dataVolumeContainer2]# echo "container dc03 addd" > dc03.txt
[root@4dfdba337ef2 dataVolumeContainer2]# ls
dc01.txt dc02.txt dc03.txt
[root@4dfdba337ef2 dataVolumeContainer2]#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
终端host:
查看容器运行情况:
[root@localhost _data]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4dfdba337ef2 zzyy/centos "/bin/sh -c /bin/bash" 3 minutes ago Up 3 minutes dc03
7dbdb68f3e73 zzyy/centos "/bin/sh -c /bin/bash" 19 minutes ago Up 19 minutes dc02
3caa375ebfd9 zzyy/centos "/bin/sh -c /bin/bash" 34 minutes ago Up 34 minutes dc01
[root@localhost _data]#
1
2
3
4
5
6
dc01、dc02、dc03运行正常。
3、回到dc01可以看到02/03各自添加的都能共享
终端container dc01:
[root@3caa375ebfd9 dataVolumeContainer2]# ls
dc01.txt dc02.txt dc03.txt
[root@3caa375ebfd9 dataVolumeContainer2]#
1
2
3
4、删除dc01,dc02修改后,dc03可否访问
终端host:
删除dc01
[root@localhost _data]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4dfdba337ef2 zzyy/centos "/bin/sh -c /bin/bash" 2 hours ago Up 2 hours dc03
7dbdb68f3e73 zzyy/centos "/bin/sh -c /bin/bash" 3 hours ago Up 3 hours dc02
3caa375ebfd9 zzyy/centos "/bin/sh -c /bin/bash" 3 hours ago Up 2 hours dc01
[root@localhost _data]# docker rm -f 3caa375ebfd9
3caa375ebfd9
[root@localhost _data]#
1
2
3
4
5
6
7
8
终端container dc02:
在dc02中添加新文件,并且可以看见dc01虽然被删除了,但是dc01的创建的文件还在。
[root@7dbdb68f3e73 dataVolumeContainer2]# ls
dc01.txt dc02.txt dc03.txt
[root@7dbdb68f3e73 dataVolumeContainer2]# echo "container dc02 add 22" > dc02_update.txt
[root@7dbdb68f3e73 dataVolumeContainer2]# ls
dc01.txt dc02.txt dc02_update.txt dc03.txt
[root@7dbdb68f3e73 dataVolumeContainer2]#
1
2
3
4
5
6
终端container dc03:
dc01.txt 还在,dc01.txt中的内容也能获取。
新创建的 dc02_update.txt 也在。
[root@4dfdba337ef2 dataVolumeContainer2]# ls
dc01.txt dc02.txt dc02_update.txt dc03.txt
[root@4dfdba337ef2 dataVolumeContainer2]# cat dc01.txt
container dc01 add
[root@4dfdba337ef2 dataVolumeContainer2]#
1
2
3
4
5
6
5、删除dc02后,dc03可否访问
6、新建dc04,继承dc03后,再删除dc03
结论:容器之间配置信息的传递,数据卷的生命周期一直持续到没有容器使用它为止。
---------------------
作者:xiaojin21cen
来源:CSDN
原文:https://blog.csdn.net/xiaojin21cen/article/details/84564973
Docker容器数据卷volumes-from的更多相关文章
- 『现学现忘』Docker基础 — 28、Docker容器数据卷介绍
目录 1.什么是Docker容器数据卷 2.数据卷的作用 3.数据卷的使用 1.什么是Docker容器数据卷 Docker容器数据卷,即Docker Volume(卷). 当Docker容器运行的时候 ...
- docker 12 docker容器数据卷
数据卷概念 ♣我们知道,当我们把一个运行中的容器关闭后,容器里的数据就没有了(如果你做了docker commit操作,数据会保留到新的镜像里面).所以我们就需要用容器数据卷把容器数据进行持久化储存. ...
- 5、docker容器数据卷: -v添加共享传递容器数据卷
1.是什么 1.docker理念 先来看看Docker的理念:* 将运用与运行的环境打包形成容器运行 ,运行可以伴随着容器,但是我们对数据的要求希望是持久化的* 容器之间希望有可能共享数据 2.保 ...
- Docker 容器数据卷(Data Volume)与数据管理
卷(Volume)是容器中的一个数据挂载点,卷可以绕过联合文件系统,从而为Docker 提供持久数据,所提供的数据还可以在宿主机-容器或多个容器之间共享.通过卷,我们可以可以使修改数据直接生效,而不必 ...
- Docker容器数据卷-Volume详解
Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷(Data Volume).数据卷可以用来存储Docker应用的数据,也可以用来在Docker容器间进行数据共享.数据 ...
- docker学习笔记-04:docker容器数据卷
一.容器数据卷是什么 1.为了保存docker容器运行时产生的数据,做数据的持久化,我们需要用到容器数据卷.因为如果不通过docker commit 生成新的镜像,那么当容器被删除时,数据自然就没有了 ...
- 『现学现忘』Docker基础 — 29、Docker容器数据卷的应用
目录 1.验证容器和宿主机之间数据共享 2.容器停止退出后,主机修改后数据是否同步 3.带只读权限的挂载数据卷 1.验证容器和宿主机之间数据共享 通过上面的操作,接下来我们演示一下通过数据卷的挂载,实 ...
- Docker——容器数据卷
为什么需要容器数据卷 角度:遇到问题,尝试以朴素的道理解决问题.问题复杂化,解决的方式也变得复杂 问题的提出:docker将应用和环境打包成一个镜像,但是对于容器内的数据,如果不进行外部的保存,那么当 ...
- Docker | 容器数据卷详解
什么是容器数据卷 从docker的理念说起,docker将应用和环境打包成一个镜像,运行镜像(生成容器)就可以访问服务了. 如果数据都存在容器中,那么删除容器,数据就会丢失!需求:数据可以持久化 My ...
- docker基础---数据卷volumes
1.数据卷 数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷可以在容器之间共享和重用 对数据卷的修改会立马生效 对数据卷的更新,不会影响镜像 卷会一直存在 ...
随机推荐
- ECG 项目预研
1. 数据的采集 智能安全帽,流数据,鉴于数据量大,应该是采集到云平台上,然后在云平台上对数据处理,是一种典型的物联网+大数据应用场景,考虑使用AWS或者阿里云,然后搭建Hadoop/Spark 环境 ...
- Pair Testing
All-Pairs Testing is a test design method to deal with the combinatorics problem of defining test ca ...
- Linux统计即时网速
Linux查看网络即时网速 sar -n DEV 1 1代表一秒统计并显示一次 在Linux下还有两个工具可以实时的显示流量信息 一个是iftop 另一个是nload.
- 浅谈随机数发生器(C语言)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/svitter/article/details/30971395 本文出自:点击打开链接 本来在做数据 ...
- springcloud费话之Eureka集群
目录: springcloud费话之Eureka基础 springcloud费话之Eureka集群 springcloud费话之Eureka服务访问(restTemplate) springcloud ...
- vue 中使用 watch 出现了如下的报错
vue 中使用 watch 出现了如下的报错 报错: Method "watch" has type "object" in the component def ...
- AI-Tensorflow-神经网络优化算法-梯度下降算法-学习率
记录内容来自<Tensorflow实战Google一书>及MOOC人工智能实践 http://www.icourse163.org/learn/PKU-1002536002?tid=100 ...
- jieba库的使用
jieba库的使用 jeiba库是一款很优秀的用于中文分词的第三方库,它通过一个汉词词典来确定汉字之间的关联概率,将概率较大的组成分词. 精准模式 把文本精准的分割开来,不存在冗余单词. jieba. ...
- 第04章 AOP概述
第04章 AOP概述 1.AOP概述 ●AOP(Aspect-Oriented Programming,面向切面编程):是一种新的方法论,是对传统 OOP(Object-Oriented Progra ...
- BZOJ1899 [Zjoi2004]Lunch 午餐 贪心+DP
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=1899 题解 如果只有一个窗口,那么可以这样考虑:因为最后一个人打完饭的时间是固定的,那么不如就 ...