Docker数据持久化与数据卷详解

105 阅读1分钟

为什么需要数据持久化?

  • 默认情况下,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 卷名