• 【Docker】——容器数据卷


    一、作用

    数据的持久化

    在这里插入图片描述

    二、 概念

    <1> 卷就是目录或者文件,存在于一个或者多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性;
    <2> 卷的设计目的就是数据的持久化,完全独立与容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。

    三、特点

    <1> 数据卷可以在容器之间共享或重用数据;
    <2> 卷中的更改可以直接实时生效;
    <3> 数据卷中的更改不会包含在镜像的更新中;
    <4> 数据卷的生命周期一直持续到没有容器使用它为止;
    <5> 可以有多个挂载路径,-v 可以有多个;
    <6> 可以实现两个容器之间文件同步。

    四、 方式

    docker run -it --privileged=true -v /宿主机绝对路径:/容器内路径 镜像名
    
    • 1

    -v 可以有多个

    五、案例

    <1>启动一个容器,同时配置容器数据卷

    在这里插入图片描述

    docker run -it --privileged=true -v /tmp/host_data:/tmp/host_data --name=u1 redis
    
    • 1

    <2>在容器中新建文件,然后查看宿主机目录

    在这里插入图片描述
    在这里插入图片描述

    <3>在宿主机中新建文件,然后查看容器目录在这里插入图片描述

    在这里插入图片描述
    可见 容器和宿主机的目录是同步的

    <4>查看挂载路径

    采用inspect 命令

    docker inspect c5c04a15d37e
    
    • 1

    当容器stop 然后再restart之后,宿主机路径所做的修改会同步到容器内的路径
    在这里插入图片描述

    六、读写规则

    <1>两种方式

    1. 读写(默认) : rw
    2. 只读 (容器内只能读不能写,宿主机可读可写): ro (read only)

    <2>添加方式

    docker run -it --privileged=true -v /宿主机绝对路径:/容器内路径:rw 镜像名
    
    docker run -it --privileged=true -v /宿主机绝对路径:/容器内路径:ro 镜像名
    
    • 1
    • 2
    • 3

    七、 继承和共享

    <1> 容器1完成和宿主机得到映射

    docker run -it --privileged=true -v /tmp/host_data:/tmp/host_data --name=u1 redis /bin/bash
    
    • 1

    <2> 容器2 继承容器1的卷规则

    docker run -it --privileged=true --volumes-from u1 --name=u2 redis /bin/bash
    
    • 1

    在这里插入图片描述

    <3>当被继承的容器stop之后,继承的容器的规则依旧存在。

  • 相关阅读:
    1.启动前端项目(命令行)
    云开发静态网站H5跳转小程序(记录过程)以及云环境共享(同一主体)
    HTML网页设计结课作业——11张精美网页 html+css+javascript+bootstarp
    [找规律]Number Game 2022牛客多校第6场 J
    统计遗传学:第四章,GWAS分析
    给自己写的前端初学docker文档
    深度剖析集成学习GBDT
    区块链实验室(26) - 区块链期刊Blockchain: Research and Applications
    HTML5:七天学会基础动画网页6
    element ui 表格组件与分页组件的二次封装
  • 原文地址:https://blog.csdn.net/qq_42000631/article/details/126298877