• Docker容器的数据卷


    数据卷的概念及作用

    思考:

    1. Docker容器删除后,在容器中产生的数据也会随之销毁吗?
      答案是肯定的,容器删除后,其中的数据也会一并删除。那这样的话存储在容器中的数据岂不是很不安全,该如何解决这个问题呢
    2. Docker容器和外部机器可以直接交换文件吗?
      答案是不可以。那这样的话数据传输就很不方便了,该如何解决这个问题呢
    3. 容器之间想要进行数据交互,该如何做呢?

    数据卷:

    • 数据卷是宿主机中的一个目录
    • 容器里面也弄个目录,将容器中的目录与宿主机中的目录通过挂载的方式绑定起来,此时宿主机中的目录就可称之为数据卷
    • 当容器目录与数据卷目录绑定后,一方产生了改动,另一方会立即同步

    数据卷解决了思考中的问题:

    1. 容器删除了,其中的数据也一并删除了,但宿主机中的相同数据并不会删除,因此数据得到了保留
    2. Docker容器与外部机器的交互可以转变成宿主机与外部机器的交互,这就方便多了
    3. 一个数据卷可以被多个容器同时挂载,这就解决了容器之间的数据交互问题;同样地,一个容器也可以被挂载多个数据卷

    数据卷的作用:

    • 容器数据的持久化存储
    • 外部机器与容器之间的间接通信
    • 容器之间的数据交互

    配置数据卷

    创建并启动容器时,使用-v参数来设置数据卷

    docker run ... -v 宿主机目录:容器内目录 ...
    
    注意事项:
    	1.目录必须是绝对路径
    	2.如果目录不存在,会自动创建
    	3.可以挂载多个数据卷
    	
    docker run -it --name=c1 -v /root/data:/root/data_container ubuntu:18.04 /bin/bash
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    配置数据卷容器

    多容器进行数据交换

    • 方式一:多个容器挂载同一个数据卷
    • 方式二:数据卷容器

    创建并启动c3数据卷容器,使用-v参数来设置数据卷

    docker run -it --name=c3 -v /volume ubuntu:18.04 /bin/bash
    
    • 1

    创建并启动c1、c2容器,使用–volumes-from参数来设置数据卷

    docker run -it --name=c1 --volumes-from c3 ubuntu:18.04 /bin/bash
    docker run -it --name=c2 --volumes-from c3 ubuntu:18.04 /bin/bash
    
    • 1
    • 2

    数据卷容器:创建一个容器,挂载一个目录,让其他容器继承自该容器(–volume-from)

  • 相关阅读:
    EthernetIP 转MODBUS RTU协议网关连接FANUC机器人作为EthernetIP通信从站
    QML控件类型:ToolTip
    解析 IssueVision使用的OBSERVER(观察者)模式和COMMAND(命令)模式
    Tableau指标排行
    展览模型一般怎么打灯vray---模大狮模型网
    k8s教程(17)-pod之优先级调度
    YOLOv5火焰烟雾检测
    SpringBoot项目Redis使用
    Nginx配置多个二级域名和CA证书的详细教程
    LeetCode:二分查找
  • 原文地址:https://blog.csdn.net/weixin_48158964/article/details/134029871