在docker部署容器的时候,难免会遇到容器需要持久化数据的时候。如果不持久化容器数据,当前容器被移除之后,里面的数据也会一起删除。这样就造成了数据的丢失。在docker,可以通过volume指定数据持久化的位置,数据会在相应的宿主机中也会存储一份。这样既不会丢失数据,启动之后重新指定数据路径还是会继续使用原来的数据。
默认创建volume
- 启动一个MySQL container
docker run -d --name mysql01 -e MYSQL_ROOT_PASSWORD=chihay123 mysql
- 查看volume信息 。可以看到volume 名字很长
docker volume list
docker volume inspect [volume_name]
指定一个volume 名称
使用 run 的-v
参数指定volume 名称
Bind Mounting
可以指定一个宿主机的文件夹映射到容器。这样宿主机和容器修改的数据能实时同步。
使用run 的-v
参数映射文件夹