什么是数据卷

使用docker容器的时候,会产生一系列的数据文件,这些数据文件在删除docker容器时是会消失的,但是其中产生的部分内容是希望能够把它给保存起来另作用途的,Docker将应用与运行环境打包成容器发布,程序员希望在运行过程钟产生的部分数据是可以持久化的的,而且容器之间我们希望能够实现数据共享。数据卷是一个可供一个或多个容器使用的特殊目录,它将主机操作系统目录直接映射进容器。在容器中修改的内容可以在宿主机对应的目录下看到,比如:重要日志 、配置文件等。

数据卷的特点

Docker 数据卷是 Docker 容器中持久存储数据的机制,具有以下特点:

  1. 持久性:数据卷独立于容器的生命周期,容器删除后数据卷仍然存在,可以被其他容器挂载和使用。
  2. 共享性:多个容器可以共享同一个数据卷,实现数据在容器之间的共享和传递。
  3. 数据卷可以提供外部数据:可以将主机文件系统的目录或文件挂载为数据卷,容器可以直接访问主机上的数据。
  4. 容器之间隔离:即使多个容器共享同一个数据卷,它们之间的操作仍然是相互隔离的,不会相互影响。
  5. 高性能:与将数据存储在容器内部相比,使用数据卷通常具有更高的性能,因为数据卷可以利用主机文件系统的优势。
  6. 可备份和恢复:可以轻松备份和恢复数据卷中的数据,方便进行数据管理和迁移。

通过使用数据卷,Docker 提供了一种灵活且持久的方式来管理容器中的数据,使数据在容器之间共享和持久化成为可能。

Docker数据卷操作

管理卷

列出所有卷

docker volume 命令可以对 Docker 自己管理的卷(/var/lib/docker/volumes/xx)目录进行操作。

[root@localhost]~ docker volume ls
DRIVER    VOLUME NAME
local     2f3bf43b086338934a1d1664ebd0bb17828eb92c1253c25c4a73254fd8e4663d
local     ced2e5231eda1a01664b8d274ce5ada4ba6361744e475188ea4a0ea352143e18
local     d1169326a7b04b649a17ec2c3c9b35d2a6fe093813dcd5bb56ed9ad3a67803fd