docker,数据卷
数据卷的基本概念
- 定义与作用:数据卷是宿主机上的特殊目录,用于容器间共享和持久化数据
- 核心特性:独立于容器生命周期、支持跨容器共享、高性能本地访问
- 与绑定挂载(Bind Mount)的区别:数据卷由Docker完全管理
数据卷的核心操作
- 创建数据卷:
docker volume create [卷名]
- 查看数据卷列表:
docker volume ls
- 查看数据卷详情:
docker volume inspect [卷名]
- 删除数据卷:
docker volume rm [卷名]
数据卷的典型使用场景
- 数据库持久化:MySQL/PostgreSQL等数据库容器数据存储
- 配置文件共享:多容器读取同一份配置文件
- 日志收集:将容器日志写入宿主机固定位置
数据卷的挂载方式
- 命名卷挂载示例:
bash复制插入
docker run -v my_volume:/app/data nginx
复制插入
- 匿名卷挂载示例:
bash复制插入
docker run -v /app/data nginx
复制插入
- 只读挂载配置:
bash复制插入
docker run -v my_volume:/app/data:ro nginx
复制插入
数据卷的备份与迁移
- 备份到宿主机:
bash复制插入
docker run --rm -v my_volume:/source -v /backup:/backup alpine \ tar cvf /backup/backup.tar /source
复制插入
- 跨主机迁移方案:通过SCP/Rsync等工具传输备份文件
数据卷的高级特性
- 卷驱动扩展:支持NFS/SSHFS等分布式存储
- 数据卷模板:使用
docker-compose
预定义卷配置 - 存储空间管理:
docker system df
查看卷占用情况