您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
21_尚硅谷_Docker_容器数据卷volumes-from(容器数据卷共享)
发布时间:2022-11-08 21:57:40编辑:雪饮阅读()
容器自定义名称
docker运行一个容器时候可以通过—name指定这个容器的名称
[root@localhost ~]# docker run -it --name dc01 xy/centos
这里运行的是昨天做有两个数据卷的镜像
[root@290d9bb19b4a /]# ls
bin datavc2 etc lib lost+found mnt proc run srv tmp var
datavc1 dev home lib64 media opt root sbin sys usr
这里我们退出这个容器但不停止这个容器后用docker ps命令即可查看到刚才定义的容器名
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
290d9bb19b4a xy/centos "/bin/sh -c /bin/bash" 28 seconds ago Up 27 seconds dc01
卷共享
使用--volumes-from来指定一个容器,则新运行的容器会将对方的卷共享给自己使用
docker run -it --name dc02 --volumes-from dc01 xy/centos
像这样则dc02容器的卷里面datavc2里面建立了文件,则dc01中datavc2里面同样有该文件
[root@localhost ~]# docker exec -it dc02 touch datavc2/dc02.txt
[root@localhost ~]# docker exec -it dc02 ls datavc2
dc02.txt
[root@localhost ~]# docker exec -it dc01 ls datavc2
dc02.txt
删除文件也是同样
[root@localhost ~]# docker exec -it dc02 rm -rf datavc2/dc02.txt
[root@localhost ~]# docker exec -it dc01 ls datavc2
[root@localhost ~]# docker exec -it dc01 ls datavc2
[root@localhost ~]#
那么继续运行dc03容器也共享于dc01容器的卷
[root@localhost ~]# docker run -it --name dc03 --volumes-from dc01 xy/centos
那么在dc03中同样卷中操作文件也是共享的
[root@localhost ~]# docker exec -it dc03 ls datavc2
[root@localhost ~]# docker exec -it dc03 touch datavc2/dc03
[root@localhost ~]# docker exec -it dc03 ls datavc2
dc03
[root@localhost ~]# docker exec -it dc02 ls datavc2
dc03
[root@localhost ~]# docker exec -it dc01 ls datavc2
dc03
此时基本干掉dc01容器
[root@localhost ~]# docker stop dc01
dc01
[root@localhost ~]# docker rm dc01
dc01
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
01bb904c08c1 xy/centos "/bin/sh -c /bin/bash" 3 minutes ago Up 3 minutes dc03
b005849fb4fe xy/centos "/bin/sh -c /bin/bash" 13 minutes ago Up 13 minutes dc02
虽然dc02和dc03容器之前是从dc01容器共享,但此时dc02容器和dc03容器仍旧不受影响,dc02和dc03容器直接同卷上的文件操作仍旧是共享同步的。
[root@localhost ~]# docker exec -it dc02 touch datavc2/dc02
[root@localhost ~]# docker exec -it dc03 touch datavc2/dc03
[root@localhost ~]# docker exec -it dc02 ls datavc2
dc02 dc03
[root@localhost ~]# docker exec -it dc03 ls datavc2
dc02 dc03
关键字词:Docker,容器,数据,卷,volumes-from,共享