zoukankan      html  css  js  c++  java
  • docker数据卷容器

    docker数据卷容器

    什么是docker数据卷容器?

    命名的容器挂载数据卷,其它容器通过挂载这个(父容器)实现数据共享,挂载数据卷的容器,称之为数据卷容器()

    操作一波?

    1、先启动一个上次整的那个tzh/centos的容器、然后在dataVolumeContainer2新建任意文件

    docker run -it --name qaz01 tzh/centos
    cd dataVolumeContainer2/
    echo "aaaa" > test

    2、再启动一个qaz02/qaz03继承qaz01、然后分别在qaz02/qaz03的dataVolumeContainer2新建任意文件

    #继承命令关键字:   --volumes-from 
    #用法:子 --volumes-from 父

    ---------qaz02继承qaz01------------
    docker run -it --name qaz02 --volumes-from qaz01 tzh/centos
    #进入qaz02的dataVolumeContainer2 查看发现有刚刚我们新建的test
    [root@d55f9daa449f dataVolumeContainer2]# pwd
    /dataVolumeContainer2
    [root@d55f9daa449f dataVolumeContainer2]# ls
    test
    #再新建一个任意的文件
    [root@d55f9daa449f dataVolumeContainer2]# echo bbbbbbbbb test02  
    [root@d55f9daa449f dataVolumeContainer2]# ls
    test test02

    ---------qaz03继承qaz01------------
    #再开一个容器qaz03,且继承qaz01
    docker run -it --name qaz03 --volumes-from qaz01 tzh/centos
    #进入qaz03的dataVolumeContainer2 查看发现有刚刚我们新建的test、test02
    [root@0c9d57f3eff9 dataVolumeContainer2]# pwd
    /dataVolumeContainer2
    [root@0c9d57f3eff9 dataVolumeContainer2]# ls
    test test02
    #再新建一个任意文件
    [root@0c9d57f3eff9 dataVolumeContainer2]# echo ccccccccccccc > test03
    [root@0c9d57f3eff9 dataVolumeContainer2]# ls
    test test02 test03

    --------------------
    #现在我们一共开了三个容器
    [root@tzh ~]# docker ps
    CONTAINER ID   IMAGE         COMMAND                 CREATED         STATUS         PORTS   NAMES
    0c9d57f3eff9   tzh/centos    "/bin/sh -c /bin/bash"   5 minutes ago   Up 5 minutes           qaz03
    d55f9daa449f   tzh/centos    "/bin/sh -c /bin/bash"   8 minutes ago   Up 9 minutes           qaz02
    f3cc837df61c   tzh/centos    "/bin/sh -c /bin/bash"   9 minutes ago   Up 16 minutes         qaz01
    #然后我们进入qaz01看看是否有刚刚在qaz02、qaz03中新建的文件
    命令:docker attach qaz01
    #查看
    [root@f3cc837df61c dataVolumeContainer2]# pwd
    /dataVolumeContainer2
    [root@f3cc837df61c dataVolumeContainer2]# ls
    test test02 test03
    #到qaz02也是这三个文件!不做演示

    总结:发现qaz01有刚刚qaz02、qaz03新建的文件,说明我们达到了数据继承、数据共享的目的!!!

    思考1:如果我们把父容器给干掉,请问子容器的数据是否还在呢?

    思考2:在父容器被干掉的情况下,在qaz02的dataVolumeContainer2下新建文件,请问会同步到qaz03吗?

    思考3:再起一个容器qaz04,继承03,那么04会不会有同样的数据呢?

    结论:只要这些关联起来的容器没有全部宕机,那么数据就会一直传递下去!

     

  • 相关阅读:
    顺序队列的模板
    链式队列模板
    链式栈模板
    栈应用hanoi
    判断出栈顺序
    用栈实现四则运算
    两栈共享问题
    The Preliminary Contest for ICPC Asia Nanjing 2019
    Educational Codeforces Round 71 (Rated for Div. 2)
    HDU6583:Typewriter(dp+后缀自动机)
  • 原文地址:https://www.cnblogs.com/hsyw/p/13195922.html
Copyright © 2011-2022 走看看