Docker 容器的数据卷

数据卷是Docker中用于持久化数据的机制,它可以被多个容器共享,实现数据的同步和交换。通过`-v`参数创建和挂载数据卷,或者使用`--volumes-from`来让多个容器共享同一数据卷。数据卷容器是一种高效的数据交换方式,通过创建一个专门的数据卷容器,其他容器可以挂载其数据卷来实现通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据卷概念:
• 数据卷是宿主机中的一个目录或文件
• 当容器目录和数据卷目录绑定后,对方的修改会立即同步
• 一个数据卷可以被多个容器同时挂载
• 一个容器也可以被挂载多个数据卷

数据卷作用:
• 容器数据持久化
• 外部机器和容器间接通信
• 容器之间数据交换

数据卷和容器关系图

1. 配置数据卷

# 创建启动容器时,使用 –v 参数 设置数据卷
docker run ... –v 宿主机目录(文件):容器内目录(文件) ... 
docker run -it --name=c1 -v /root/data:/root/data-container centos:7 /bin/bash
docker run -it --name=c2 -v /root/data1:/root/data-container1 -v /root/data2:/root/data-container2 centos:7  #挂载多个数据卷

# 查看当前容器挂载的数据卷
docker inspect 容器名称

注意事项:

  1. 目录必须是绝对路径
  2. 如果目录不存在,会自动创建
  3. 可以挂载多个数据卷

2. 配置数据卷容器

多容器进行数据交换的方式:
1. 多个容器挂载同一个数据卷
2. 通过数据卷容器

数据卷容器

# 创建启动c3数据卷容器,使用 –v 参数 设置数据卷
docker run -it --name=c3 -v /volume centos:7 /bin/bash

# 创建启动 c1 c2 容器,使用 –-volumes-from 参数 设置数据卷
 docker run -it --name=c1 --volumes-from c3 centos:7 /bin/bash
 docker run -it --name=c2 --volumes-from c3 centos:7 /bin/bash

注意:
创建c3时没有指定宿主机目录,所以需要查询容器的配置信息
docker inspect c3
宿主机目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值