docker|docker 数据卷容器,很简单的

大家好,今天我们来分享一下docker 数据卷容器的使用
它要解决的问题就是:容器和容器之间的数据同步与共享
它的简易图是这样的
docker|docker 数据卷容器,很简单的
文章图片

目的:容器和容器之间的数据同步与共享
这里还有俩个概念:
父容器: 如果在centos2上挂载centos1 ,即centos2就是父容器,就是被挂载的容器
子容器:如果在centos1上挂载centos2 ,即centos2就是子容器,就是挂载别的容器的容器
这里做一下实际的操作:
查看镜像:

[root@localhost ~]# docker images REPOSITORYTAGIMAGE IDCREATEDSIZE shuaige/centos2.0d8e0f44b8da315 hours ago231MB tomcat041.012b32b1a124d41 hours ago685MB nginxlatest605c77e624dd2 months ago141MB tomcat9.0b8e65a4d736d2 months ago680MB tomcatlatestfb5657adc8922 months ago680MB mysql5.7c20987f18b132 months ago448MB hello-worldlatestfeb5d9fea6a55 months ago13.3kB centoslatest5d0da3dc97645 months ago231MB

选项这个
docker|docker 数据卷容器,很简单的
文章图片

运行一下容器:
[root@localhost ~]# docker run -it --name docker01 shuaige/centos:2.0

给大家这个命令:
它的作用是运行容器 以交互模式, --name docker01 是它这个容器的名称 shuaige/centos:2.0:是我们本地
的一个镜像。(这里要加上tag,否则默认会去找最新的)
看这两个卷
docker|docker 数据卷容器,很简单的
文章图片

在运行一个容器,命名为docker02 ,并且挂载到 docker01上面
[root@localhost ~]# docker run -it--name docker02 --volumes-from docker01shuaige/centos:2.0

再看这俩个卷
docker|docker 数据卷容器,很简单的
文章图片

在父容器的volume01 目录下写一点东西
[root@c998f945c390 /]# [root@c998f945c390 /]# cd v var/volume01/ volume02/ [root@c998f945c390 /]# cd volume01/ [root@c998f945c390 volume01]# touch docker 001 [root@c998f945c390 volume01]# ls 001docker [root@c998f945c390 volume01]#

进入子容器docker02相关目录下查看
[root@558758cdc304 /]# cd v var/volume01/ volume02/ [root@558758cdc304 /]# cd volume01 [root@558758cdc304 volume01]# ls 001docker [root@558758cdc304 volume01]#

父容器里边指定文件夹下,写的东西,子容器可以看见
即,已经实现容器之间的数据共享
注意看这个命令
[root@localhost ~]# docker run -it--name docker02 --volumes-from docker01shuaige/centos:2.0

docker|docker 数据卷容器,很简单的
文章图片

–volumes-from docker01 其中docker01 就是数据卷容器
【docker|docker 数据卷容器,很简单的】同时,大家要知道,可以有多个容器,挂载一个容器
做个实例:
再启动一个容器,命名为docker03
[root@localhost ~]# docker run -it--name docker03 --volumes-from docker01shuaige/centos:2.0

在docker03 这个容器当中也看见了docker01 (父容器)的挂载
docker|docker 数据卷容器,很简单的
文章图片

在docker03 这个容器当中,也看见了相应的文件
docker|docker 数据卷容器,很简单的
文章图片

我们在docker03 这个容器当中创建文件
docker|docker 数据卷容器,很简单的
文章图片

进入docker01 这个容器 (已经退出的容器,没有办法通过刚刚的方法进入了)
查看存在的容器
docker|docker 数据卷容器,很简单的
文章图片

启动这个容器 (docker01这个)
[root@localhost ~]# docker startc998f945c390 c998f945c390

进入docker01 这个容器:
[root@localhost ~]# docker exec-itc998f945c390/bin/bash

查看这个容器
docker|docker 数据卷容器,很简单的
文章图片

查看文件:
docker|docker 数据卷容器,很简单的
文章图片

结果是正常的:
如果将docker01删除到,数据也不会丢失
删除docker01 这个容器
[root@localhost ~]# rm -rf c998f945c390

如果将docker01删除到,数据也不会丢失
docker|docker 数据卷容器,很简单的
文章图片

好了,有关于docker 数据卷容器的使用就到这里了,谢谢大家

    推荐阅读