• Docker容器的数据卷


    一、数据卷概念

    1、数据卷是宿主机中的一个目录或文件

    2、当容器目录和数据卷目录绑定后,对方的修改会立即同步

    3、一个数据卷可以被多个容器同时挂载

    4、一个容器也可以挂载多个数据卷

    简单理解:有点类似我们的Redis里面的rdb和aof文件

     

    二、数据卷的作用

    1、容器数据持久化

    2、外部机器和容器间接通信

    3、容器之间数据交换

    三、配置数据卷

    docker run -id --privileged=true -v /宿主机绝对路径目录:/容器内目录 --name=容器名 镜像名

    注:文件目录不存在时会自动创建文件目录

     

     四、容器卷和主机互通互联

    1、在容器内/tmp/myhostdata目录下创建文件1.txt,并向文件写入内容,然后查看宿主机/myhostdata是否创建了同样文件1.txt

     2、在宿主机内/myhostdata目录下创建文件2.txt,并向文件写入内容,然后查看容器/tmp/myhostdata目录是否创建了同样文件2.txt

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

    docker inspect 容器ID

     五、容器卷ro和rw读写规则

    说明:默认情况下,容器卷是可读可写的,但是在特殊场景下,我们想要容器实例内部被限制,只能读取不能写,也就是容器内只能读取宿主机文件数据,如果宿主机写入内容,可以同步给容器内,容器可以读取到。

    复制代码
    # 可读可写
    docker run -id --privileged=true -v /宿主机绝对路径目录:/容器内目录:rw --name=容器名 镜像名
    
    # 只能读不能写
    docker run -id --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro --name=容器名 镜像名
    复制代码

    六、容器卷之间的继承

    步骤一:容器1完成和宿主机的映射

     

     

    步骤二:容器2继承容器1的卷规则

    docker run -it --privileged=true --volumes-from 父类  --name=u2 ubuntu

     

     

    说明:当容器1挂掉之后,宿主机和容器2之间依旧可以正常同步数据卷内容,当容器1重启之后,会自动同步宿主机和容器2的数据卷,只要实现了容器继承卷的规则,不管是在哪个容器或者宿主机上更新数据卷内容,都会同步其他几个数据卷

     

  • 相关阅读:
    k8s笔记19--grafana配置node监控面板
    git 版本管理
    【大数据篇】Hadoop:大数据处理的核心基石
    高精度算法详解
    【PyTorch深度学习项目实战100例】—— 基于BiGRU短期电力负荷预测方法 | 第28例
    springboot(ssm 高校教师电子名片系统 Java(code&LW)
    数据结构刷题——图论
    16. 文件上传
    vpp 中 load balance 的实现
    js-Date对象
  • 原文地址:https://www.cnblogs.com/sportsky/p/16214660.html