为什么需要数据持久化?
- 默认情况下,Docker容器内的数据是临时的。
- 容器停止或删除后,数据会丢失。
- 持久化机制可以将数据保存在宿主机或外部存储中。
Docker数据卷(Volume)
数据卷 (Volume)是Docker官方推荐的数据持久化方式。
特点:
- 独立于容器生命周期(容器删了,卷还在)
- 支持数据共享
- 容器性能更好
- 管理更方便
使用数据卷的方法
1. 创建数据卷
docker volume create myvolume
2. 启动容器挂载数据卷
docker run -d -p 3306:3306 -v myvolume:/var/lib/mysql mysql:5.7
将容器内的 /var/lib/mysql 挂载到myvolume卷。
Bind Mount挂载(指定宿主机目录)
如果希望直接挂载宿主机上的某个目录,可以使用绑定挂载:
bash
复制编辑
docker run -d -p 8080:80 -v /home/user/html:/usr/share/nginx/html nginx
直接同步宿主机文件,适合开发环境!
查看与管理卷
- 查看所有卷:
docker volume ls
- 查看卷详情:
docker volume inspect 卷名
- 删除卷:
docker volume rm 卷名