Skip to content
章节导航

数据卷(Volume)应用场景与使用

将数据从宿主机挂载到容器的三种方式

方式描述
volumesDocker管理宿主机文件系统的一部分(/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