1. 什么是存储卷?
存储卷就是将宿主机的本地文件系统中存在的某个目录直接与容器内部的文件系统上的某一目录建立绑定关系。使得可以在宿主机和容器内共享数据库内容,让容器直接访问宿主机中的内容,也可以宿主机向容器写入内容,容器和宿主机的数据读写是同步的。
存储卷可以分为三类:
- 管理卷:默认映射到宿主机的
/var/lib/docker/volumes目录下, 只需要在容器内指定容器的挂载点是什么,而被绑定宿主机下的那个目录,是由容器引擎daemon自行创建一个空的目录。 - 绑定数据卷:映射到宿主机指定路径下,在宿主机上的路径要人工的指定一个特定的路径。
- 临时数据卷:映射到于宿主机内存中,一旦容器停止运行,
tmpfs、mounts会被移除,数据就会丢失,用于高性能的临时数据存储。
2. 管理卷
存储卷可以通过命令方式创建,也可以在创建容器的时候通过 -v and --mount 指定。
2.1 Volume 命令操作
| 命令 | 功能 |
|---|---|
| docker volume create | 创建存储卷 |
| docker volume inspect | 显示存储卷详细信息 |
| docker volume ls | 列出存储卷 |
| docker volume prune | 清理所有无用数据卷 |
| docker volume rm | 删除卷,使用中的无法删除 |
2.1.1 docker volume create
- 功能:创建存储卷
docker volume create [OPTIONS] [VOLUME]
- 参数:
- -d:指定驱动,默认是 local
- –label:指定元数据(标签,给卷添一些备注信息)

通过这种方式创建出来的卷的默认的目录是/data/var/lib/docker/volumes/。

--label 是设置卷的备注信息。

本文详细介绍了Docker中的存储卷概念,包括管理卷、绑定卷和临时卷的区别,以及如何通过`dockerrun`命令中的-v和--mount参数进行创建和映射。还涵盖了volume的生命周期管理和数据持久性问题。
最低0.47元/天 解锁文章
1924






