# 创建卷
docker volume create my_volume
# 查看所有卷
docker volume ls
# 查看卷详情
docker volume inspect my_volume
# 删除卷
docker volume rm my_volume
# 运行容器并挂载卷
docker run -d --name my_container -v my_volume:/container/path image_name
# 自动创建匿名卷
docker run -d -v /container/path image_name
# 挂载主机目录到容器
docker run -d --name my_container -v /host/path:/container/path image_name
# 挂载单个文件
docker run -d --name my_container -v /host/file:/container/file image_name
# 创建支持NFS的卷
docker volume create --driver local \
--opt type=nfs \
--opt o=addr=192.168.1.100,rw \
--opt device=:/path/on/nfs \
nfs_volume
# 备份卷数据
docker run --rm -v my_volume:/volume -v $(pwd):/backup alpine \
tar cvf /backup/backup.tar /volume
# 恢复数据到新卷
docker run --rm -v new_volume:/volume -v $(pwd):/backup alpine \
tar xvf /backup/backup.tar -C /volume --strip 1
# 容器间共享卷
docker run -d --name container1 -v shared_volume:/data image1
docker run -d --name container2 --volumes-from container1 image2
overlay2
或devicemapper
zfs
或btrfs
docker system df
docker ps -s
# 删除所有未使用的卷
docker volume prune
# 删除所有未使用的对象(谨慎使用)
docker system prune -a --volumes
通过合理选择和使用这些存储方案,可以确保Docker容器中的数据安全、持久且高效地存储和管理。