命名数据卷管理
数据卷(Volume)是 Docker 持久化数据的主要方式,下面介绍命名卷的管理。
创建数据卷
Bash
# 创建命名卷
docker volume create my-data
# 查看卷列表
docker volume ls
# 输出示例
DRIVER VOLUME NAME
local my-data
local nginx-config
# 查看卷详情
docker volume inspect my-data
# 输出
[
{
"CreatedAt": "2024-01-01T10:00:00Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/my-data/_data",
"Name": "my-data",
"Options": {},
"Scope": "local"
}
]
使用数据卷
Bash
# 挂载卷到容器
docker run -d -v my-data:/app/data --name my-app nginx
# 挂载多个卷
docker run -d -v my-data:/app/data -v my-config:/app/config nginx
# 只读模式
docker run -d -v my-data:/app/data:ro nginx
数据卷特点
- 数据卷独立于容器生命周期,删除容器不影响卷数据
- 多个容器可共享同一数据卷
- 数据存储在宿主机的 Docker 管理目录(
/var/lib/docker/volumes/) - 支持备份、迁移、快照操作
管理数据卷
Bash
# 查看卷详情
docker volume inspect my-data
# 删除单个卷
docker volume rm my-data
# 删除未使用的卷
docker volume prune
# 确认提示
WARNING! This will remove all local volumes not used by at least one container.
Are you sure you want to continue? [y/N] y
删除容器时如果使用
-v参数会同时删除关联的匿名卷,命名卷不受影响。
数据卷驱动
默认使用 local 驱动,也支持其他驱动:
Bash
# 使用 local 驱动创建
docker volume create --driver local my-data
# 指定驱动选项
docker volume create \
--driver local \
--opt type=tmpfs \
--opt device=tmpfs \
--opt o=size=100m \
tmpfs-volume
要点总结
docker volume create创建命名卷,docker volume ls查看列表-v 卷名:容器路径挂载卷到容器,支持:ro只读模式- 数据卷独立于容器生命周期,删除容器不影响卷数据
docker volume prune清理未使用卷,释放磁盘空间- 命名卷比匿名卷更易于管理和识别
📝 发现内容有误?点击此处直接编辑