数据卷(Volume)应用场景与使用
将数据从宿主机挂载到容器的三种方式
| 方式 | 描述 |
|---|---|
| volumes | Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)。保存数据的最佳方式。 |
| bind mounts | 将宿主机上的任意位置的文件或者目录挂载到容器中。 |
| tmpfs(直接忽略) | 挂载存储在主机系统的内存中,而不会写入主机的文件系统。如果不希望将数据持久存储在任何位置,可以使用tmpfs,同时避免写入容器可写层提高性能。 |

Volumes 的使用
shell
docker volume --help管理卷
- 创建数据卷: docker volume create nginx-vol
- 查看数据卷: docker volume ls
- 查看所在目录: docker volume inspect nginx-vol
- 注意: 如果没有指定卷,会自动创建。只要卷没有删除,数据会一直在。备份时,备份工作目录即可。
用卷创建一个容器
- docker run -d --name=nginx-test --mount src=nginx-vol,dst=/usr/share/nginx/html nginx
- docker run -d --name=nginx-test -v nginx-vol:/usr/share/nginx/html nginx
清理
- docker stop nginx-test
- docker rm nginx-test
- docker volume rm nginx-vol
剑鸣秋朔