Docker容器的数据卷

数据卷是Docker中用于持久化数据的机制,可被多个容器共享。它们解决了容器删除后数据丢失的问题,允许容器与宿主机或其它容器交换数据。创建数据卷时,使用`-v`参数指定宿主机目录与容器目录的绑定。数据卷容器是一种特殊容器,它的挂载目录可供其他容器通过`--volumes-from`参数继承,即使数据卷容器停止,数据卷仍可被其他容器访问,确保数据同步。
摘要由CSDN通过智能技术生成

Docker容器的数据卷

一、数据卷概念

概念:数据卷是宿主机中的一个目录或文件

  • 当容器目录和数据卷目录绑定后,对方的修改会立即同步
  • 一个数据卷可以被多个容器同时挂载
  • 一个容器也可以挂载多个数据卷

可以解决以下问题

  • 可以解决容器数据的持久化,正常来说docker容器删除后容器的数据也随之销毁

  • 可以使docker容器和外部机器进行数据交换

  • 容器之间也可以进行数据交换

二、数据卷的作用

  • 容器数据的持久化
  • 外部机器和容器间通信
  • 容器之间数据交换

请添加图片描述

三、配置数据卷

  • 创建启动容器,使用 -v 参数 设置数据卷
docker run ... -v 宿主机目录(文件):容器内目录(文件) ...

演示命令:

docker run -it --name=c1 -v ~data:/root/data centos7

注意:

  • 目录必须是绝对路径
  • 如果目录不存在,会自动创建
  • 可以挂载多个数据卷【实现容器和容器之间的数据同步】
    请添加图片描述

四、数据卷容器

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

多容器进行数据交换的方法

  • 多容器挂载同一个数据卷
  • 数据卷容器
    在这里插入图片描述

五、配置数据卷容器

  • 创建启动 c3 数据卷容器,使用 -v 参数 设置数据卷【在/volume前面没有 : 会自动在宿主机中分配数据卷的路径
docker run -it --name=c3 -v /volume centos:7 /bin/bash
  • 创建启动 c1、c2 容器,使用 --volumes-from 参数 设置数据卷
docker run -it --name=c1 --volumes-from centos:7 /bin/bash
docker run -it --name=c2 --volumes-from centos:7 /bin/bash

注意:

即便数据卷容器挂了,容器1和容器2仍然绑定宿主机的数据卷,他们之间还可以进行数据同步。

原因:

数据卷容器挂载数据卷后,数据卷容器中分配了挂载路径。容器1和容器2挂载数据卷容器后,是把整个路径直接复制到自己容器的配置中,挂载数据卷的配置路径仍然是数据卷的路径。

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮卡丘不断更

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值