dockers-系统学习-容器的数据卷

dockers-系统学习-容器的数据卷


一、数据卷概念

在这里插入图片描述

  1. 宿主机上的一个正常目录或文件

  2. 通过数据卷可以在容器之间实现共享和重用

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

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

  5. 一个数据卷可以被多个容器同时挂载

二、数据卷作用

在这里插入图片描述

  1. 通过数据卷可以在容器之间实现共享和重用

  2. 外部机器和容器间接通信(数据交互)

  3. 对数据卷的修改会立马生效(非常适合作为开发环境)

  4. 容器数据持久化

三、 配置数据卷

  1. 创建启动容器时,使用 –v 参数 设置数据卷

docker run … –v 宿主机目录(文件):容器内目录(文件) …

例如:

docker run -it --name sjj -v /root/data:/root/data-container redis:latest

命令解释:创建了一个名称为sjj的容器,创建一个数据卷/root/data,并挂载到容器的/root/data-container目录下。

2.注意:

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

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

docker run -it --name sjj -v /root/data1:/root/data-container redis:latest

宿主机/root/data1 目录创建成功

在这里插入图片描述

容器的/root/data-container 目录创建成功

在这里插入图片描述

在宿主机/root/data1目录,添加内容a.txt

在这里插入图片描述

查看容器内部,看到也存在相同的内容

在这里插入图片描述

3.2、验证–容器数据持久化

删除sjj容器,宿主机/root/data1目录没有被删除

在这里插入图片描述

再创建sjj1容器,容器的目录挂载到原先的数据卷中,可以看到原先的数据还在

在这里插入图片描述

3.3、验证–一个容器也可以被挂载多个数据卷

docker run -it --name sjj2 -v /root/data3:/root/data-container1 -v /root/data4:/root/data-container2 redis:latest

在这里插入图片描述

3.4、验证–一个数据卷可以被多个容器同时挂载

docker run -it --name sjj3 -v /root/data1:/root/data-container redis:latest

docker run -it --name sjj4 -v /root/data1:/root/data-container2 redis:latest

在这里插入图片描述

在sjj3容器中,添加数据到c.txt,c.txt会同步到数据卷,数据卷又将数据同步到sjj4容器,最终sjj3和sjj4的数据是一致的。

在这里插入图片描述

四、 配置数据卷容器

4.1、目的

  1. 将多容器的数据交换进行简化

在这里插入图片描述

4.2、配置数据卷容器

  1. 创建启动d3数据卷容器,使用 –v 参数 设置数据卷

    docker run -it --name=d3 -v /d3-redis redis:latest

  2. 创建启动 d1 d2 容器,使用 –-volumes-from 参数 设置数据卷

    docker run -it --name=d1 --volumes-from d3 redis:latest

    docker run -it --name=d2 --volumes-from d3 redis:latest

在这里插入图片描述

  1. 验证数据是同步的

    1. d1容器添加数据
    2. d2容器查看数据

在这里插入图片描述

3. 查看d1数据卷目录Source和容器目录Destination:docker inspect d1
4. 查看d2数据卷目录Source和容器目录Destination:docker inspect d2

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值