4. docker数据卷
创建时间:2026-05-16 15:34
长度:1019
浏览:0
评论:0
什么是?
Docker 数据卷是 Docker 容器中一种特殊的目录或文件,它独立于容器的生命周期,可以实现数据的持久化和共享;
数据卷目录可以被多个容器同时挂载;一个容器也可以同时挂载多个数据卷;
为什么?
因为 普通的容器存在一个天生的缺陷:数据会随着容器的删除而消失。
能干嘛?
- 持久化数据:数据卷存在于宿主机(运行 Docker 的机器)的特定目录下,由 Docker 管理。即使你停止、删除或重启容器,数据卷里的内容依然存在。
- 与容器解耦:你可以单独创建、删除和管理数据卷,它不依附于任何特定容器。
- 容器间共享:同一个数据卷可以被多个容器同时挂载(比如一个写日志,另一个读日志),实现数据共享。
- 即插即用:启动容器时,用 -v 或 --mount 参数挂载一个数据卷进去,容器里的程序就可以像使用普通目录一样读写它。
如何配置?
docker run ... -v 宿主机目录(文件):容器内目录(文件) ...注意点:
目录必须是绝对路径
如果目录不存在,会自动创建
可以挂载多个数据卷
已运行的容器不能再挂载数据卷
查看数据卷配置
用命令查看: docker inspect 容器名/ID
然后在HostConfig对象下面的Binds就可以看到;或者在Mounts数组里查看也可以
数据卷容器
这个作为了解就可以了,现在docker 已经出了更优秀的做法了、用docker volume create 命令创建一个“命名数据卷”;
数据卷容器是一个专门用来提供数据卷的容器。它本身不运行任何应用程序(通常只是一个空壳),唯一的作用是声明和持有一些数据卷,然后其他“业务容器”可以通过 --volumes-from 参数来共享这些数据卷。
具体实现:
1. 创建启动c3数据卷容器,使用-V 参数 设置数据卷
docker run -it --name=0},-v /volume centos:7 /bin/bash
2. 创建启动c1c2 容器,使用—-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