2.1 docker volume
的基本命令
Docker 中的卷 (volumes) 提供了容器数据的持久化存储,并且可以轻松管理和隔离数据。docker volume
命令提供了一套用于创建、管理和删除卷的工具。在这节课中,我们会学习如何使用 docker volume
命令高效管理 Docker 中的卷。
docker volume 的基本命令:
docker volume create
docker volume ls
docker volume inspect
docker volume rm
docker volume prune
2.2 创建卷:docker volume create
docker volume create
命令用来创建新卷。默认情况下,Docker 会在主机上的标准位置创建卷,但你也可以指定不同参数来配置卷。
创建卷的简单例子
这个例子会创建一个名为my_volume
的卷。
docker volume create my_volume
创建带有设置的卷
你可以指定驱动程序和参数,创建具有特定特性的卷。
docker volume create --driver local --opt o=uid=1000 --opt o=gid=1000 --opt type=tmpfs --opt
device=tmpfs my_custom_volume
这些参数我们会在后面详细讲解,目前先不用太在意。
2.3 卷列表: docker volume ls
命令docker volume ls
会显示主机上创建的所有卷的列表。
docker volume ls
输出将包含所有现有卷的信息:
DRIVER VOLUME NAME
local my_volume
local my_custom_volume
2.4 卷信息: docker volume inspect
命令 docker volume inspect
提供关于某个卷的详细信息,包括它的位置、参数和使用情况。
docker volume inspect my_volume
命令的输出将包含 JSON 格式的信息:
[
{
"CreatedAt": "2023-07-26T12:34:56Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/my_volume/_data",
"Name": "my_volume",
"Options": {},
"Scope": "local"
}
]
2.5 删除卷: docker volume rm
命令 docker volume rm
用于删除卷。删除之前需要确保卷没有被容器使用。
删除卷
如果卷正在被使用,Docker 会报错,说明该卷无法被删除。
docker volume rm my_volume
清理未使用的卷: docker volume prune
命令 docker volume prune
删除所有未使用的卷,从而帮助释放磁盘空间。
清理未使用的卷
执行命令后,Docker 会要求确认,然后删除所有未使用的卷。
docker volume prune
2.6 实用命令使用示例
示例 1: 在容器中创建和使用卷
创建卷:
docker volume create app_data
使用卷启动容器:
docker run -d --name my_app -v app_data:/usr/share/nginx/html nginx
在这个示例中,卷 app_data
被挂载到容器 nginx
的目录 /usr/share/nginx/html
。
示例 2: 获取卷的信息
创建卷:
docker volume create logs_data
使用卷启动容器:
docker run -d --name log_app -v logs_data:/var/log/app busybox
查看卷信息:
docker volume inspect logs_data
示例 3: 删除和清理卷
创建和使用卷:
docker volume create temp_data
docker run -d --name temp_app -v temp_data:/tmp busybox
停止和删除容器:
docker stop temp_app
docker rm temp_app
删除卷:
docker volume rm temp_data
清理所有未使用的卷:
docker volume prune
GO TO FULL VERSION