3.Docker容器的数据卷

简介: 3.Docker容器的数据卷

场景

  • Docker容器删除后,在容器中的数据也会消失
  • Docker容器和外部机器不可以直接交换文件,网络不互通(可以通过数据卷)
  • 容器之间数据交换

数据卷的作用

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

配置数据卷

  • 创建启动容器时,使用 -v 参数设置数据卷docker run ... -v 宿主机目录(文件):容器内目录(文件)目录必须是绝对路径,如果目录不存在,会自动创建。可以挂载多个数据卷。

例(一个容器挂载一个目录):

bash

复制代码

docker run -it --name=c1 -v /root/data:/root/data_container centos:7 /bin/bash
# -v 后面的就是 宿主机目录(文件):容器内目录(文件)
docker run -it --name=c1 -v ~/data:/root/data_container centos:7
# 宿主机里面可以用~写,但是容器里面不可以

例(一个容器挂载多个目录):

ruby

复制代码

docker run -it --name=c2 \
-v ~/data2:/root/data2 \
-v ~/data3:/root/data3 \
centos:7
# \ 表示换行,和原先的连在一起

例(多个容器挂载一个目录):

ruby

复制代码

# 有 c3 和 c4 两个容器
docker run -it --name=c3 -v ~/data:/root/data centos:7
docker run -it --name=c4 -v ~/data:/root/data centos:7

数据卷容器

多容器进行数据交换

  1. 多个容器挂载同一个数据卷
  2. 数据卷容器

配置数据卷容器

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

bash

复制代码

docker run -it --name=c3 -v /volume centos:7 /bin/bash

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

ini

复制代码

docker run -it --name=c1 --volumes-from c3 centos:7 /bin/bash
docker run -it --name=c2 --volumes-from c3 centos:7 /bin/bash


相关文章
|
2月前
|
缓存 前端开发 Docker
Docker Layer Caching:加速你的容器构建
Docker Layer Caching:加速你的容器构建
|
3月前
|
运维 持续交付 开发者
Docker:现代应用开发的容器化革命
Docker:现代应用开发的容器化革命
|
1月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
1月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
270 5
|
1月前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
137 6
kde
|
1月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
kde
317 4

热门文章

最新文章