zoukankan      html  css  js  c++  java
  • 【Application】Docker 容器数据卷(四)

      本例介绍Docker 容器数据卷

    容器数据卷概念

      卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会用于容器删除时删除其挂载的数据卷

       特点:

        1、数据卷可在容器之间共享或重用数据

        2、卷中的更改可以直接生效

        3、数据卷中的更改不会包含在镜像的更新中

        4、数据卷的生命周期一直持续到没有容器使用它为止

      作用:

        1、容器的持久化

        2、容器间继承 + 共享数据

    添加容器数据卷

     1)直接命令添加

      1、使用run命令创建一个新的容器,并在命令中加入 -v 参数

        格式:docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名

        或者只读格式:docker run -it -v /宿主机绝对路径目录:/容器内目录:ro 镜像名

        例如:docker run -it -v /myDataVolume:/dataVolumeContainer centos

      2、查看数据卷是否挂载成功

        使用命令:docker inspect 容器ID

          

      3、测试容器和宿主机之间数据共享

        a、在宿主机/myDataVolume目录下新建文件,看容器中/dataVolumeContainer目录下是否存在同样的文件

          答案:存在同样文件 

        b、在容器中/dataVolumeContainer目录下新建文件,看宿主机/myDataVolume目录下是否存在同样的文件

          答案:存在同样文件

        c、关闭容器,在宿主机/myDataVolume目录下新建或删除文件,然后启动容器,看容器中/dataVolumeContainer目录下是否同样新建或删除文件

          答案:是的

     2)DockerFile添加

      1、编写一个Dockerfile文件,使用VOLUME质量来给镜像添加一个或多个数据卷,内容如下:

    1 # volume test
    2 FROM centos
    3 VOLUME ["/dataVolumeContainer01", "/dataVolumeContainer02"]
    4 CMD echo "finished, ......... SUCCESS1"
    5 CMD /bin/bash

      2、Dockerfile 构建,build后生成镜像

        命令:docker build -f dockerfile -t test/mycentos .

      3、运行新镜像,生成容器

        命令:docker run -itd  test/mycentos

      4、查看容器,并用docker inspect 命令查看新容器信息

        命令:docker inspect 容器ID

    数据卷容器

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

      容器间传递共享(--volumes-from)

      1、先启动一个父容器dc01

      2、启动一个dc02继承dc01,启动一个dc03继承dc02

      3、在dc01、dc02、dc03中任何挂载盘目录建文件,其他容器中都有个

      4、使用docker inspect命令查看各容器信息,发现数据卷对应的主机目录相同

      这也就实现了-其他容器通过挂载这个(父容器)实现数据共享

  • 相关阅读:
    判断二叉树是否BST
    树基础训练(一)
    Trie 简介
    二叉树的一些补充
    红黑树
    平衡二叉树(AVL)介绍及其实现
    二叉查找树(BST)的实现
    二叉树基本知识
    微信小程序提示框
    urllib3使用指南
  • 原文地址:https://www.cnblogs.com/h--d/p/12563534.html
Copyright © 2011-2022 走看看