大家好,今天我们来分享一下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
选项这个
文章图片
运行一下容器:
[root@localhost ~]# docker run -it --name docker01 shuaige/centos:2.0
给大家这个命令:
它的作用是运行容器 以交互模式, --name docker01 是它这个容器的名称 shuaige/centos:2.0:是我们本地
的一个镜像。(这里要加上tag,否则默认会去找最新的)
看这两个卷
文章图片
在运行一个容器,命名为docker02 ,并且挂载到 docker01上面
[root@localhost ~]# docker run -it--name docker02 --volumes-from docker01shuaige/centos:2.0
再看这俩个卷
文章图片
在父容器的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
文章图片
–volumes-from docker01
其中docker01 就是数据卷容器
【docker|docker 数据卷容器,很简单的】同时,大家要知道,可以有多个容器,挂载一个容器
做个实例:
再启动一个容器,命名为docker03
[root@localhost ~]# docker run -it--name docker03 --volumes-from docker01shuaige/centos:2.0
在docker03 这个容器当中也看见了docker01 (父容器)的挂载
文章图片
在docker03 这个容器当中,也看见了相应的文件
文章图片
我们在docker03 这个容器当中创建文件
文章图片
进入docker01 这个容器 (已经退出的容器,没有办法通过刚刚的方法进入了)
查看存在的容器
文章图片
启动这个容器 (docker01这个)
[root@localhost ~]# docker startc998f945c390
c998f945c390
进入docker01 这个容器:
[root@localhost ~]# docker exec-itc998f945c390/bin/bash
查看这个容器
文章图片
查看文件:
文章图片
结果是正常的:
如果将docker01删除到,数据也不会丢失
删除docker01 这个容器
[root@localhost ~]# rm -rf c998f945c390
如果将docker01删除到,数据也不会丢失
文章图片
好了,有关于docker 数据卷容器的使用就到这里了,谢谢大家
推荐阅读
- linux|docker 容器数据卷
- linux|linux centos7 开机自动启动执行脚本、命令 无效——解决方式
- Ops.CI/CD-Docker 学习笔记
- Docker学习系列|Docker学习十(Docker Swarm)
- centos|VMware安装Centos7系列最终版
- Linux系统网络编程|Linux系统(进程理解)
- 网络|K8s网络存储,NFS,PV,PVC,StorageClass等详解
- kubernetes|智汇华云 | 集群日志动态采集方案
- 学习工具|关于嵌入式容器技术的调研