教程 docker tutorial

卷(Volumes)概念与使用

Docker 卷(Volumes)是容器外部的数据存储机制,用于持久化和共享容器数据,独立于容器生命周期。

1. 卷的特点

  • 数据与容器生命周期分离,容器删除后卷仍然存在
  • 可在多个容器间共享
  • 由 Docker 管理,路径位于宿主机 /var/lib/docker/volumes
  • 提供更好的性能和安全性,相比 bind mount 更推荐用于生产环境

2. 创建卷

bash
# 创建命名卷
docker volume create myvolume

# 查看卷列表
docker volume ls

# 查看卷详细信息
docker volume inspect myvolume

`

3. 使用卷挂载数据

3.1 运行容器时挂载卷

bash
docker run -d -v myvolume:/app/data myapp
  • /app/data:容器内的挂载路径
  • myvolume:已创建的 Docker 卷

3.2 挂载多个卷

bash
docker run -d \
  -v volume1:/app/data1 \
  -v volume2:/app/data2 \
  myapp

4. 卷的用途

  • 持久化数据库数据
  • 存储应用日志和配置文件
  • 多容器共享数据
  • 快速备份和迁移数据

5. 卷管理命令

  • 删除卷(仅删除未使用的卷):
bash
docker volume rm myvolume
  • 清理未使用卷:
bash
docker volume prune

6. 最佳实践

  • 尽量使用命名卷而非匿名卷,便于管理
  • 对重要数据定期备份
  • 避免直接修改宿主机卷目录内容,避免破坏容器数据完整性
  • 配合 Docker Compose 管理卷,实现多服务数据共享

掌握 Docker 卷的使用方法,可以有效实现容器数据持久化、共享和安全管理,提高生产环境的可靠性。