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

   





评论(共0条)