Docker volume 数据持久化保存
使用 -v 参数创建my_volume01并挂载到容器的/mydata目录下,卷都由docker管理
docker run -itd --name alpine_test03 -v my_volume01:/mydata alpine alpine /bin/sh # /mydata:ro/rw
如果不指定my_volume01,则docker默认创建匿名volume在 /var/lib/docker/volume下,等同于Dockerfile的VOLUME参数效果
docker run -itd --name alpine_test09 -v /mydata alpine /bin/sh
使用 --mount 参数创建volume,该volume由docker创建并管理
docker run -itd --name alpine_test10 --mount type=volume,source=my_volume02,target=/mydata2 alpine /bin/sh
将宿主上/home/dockerv01目录挂载到容器的/mydata3目录下,source源目录必须在宿主机已存在,使用绝对路径
docker run -itd --name alpine_test11 --mount type=bind,source=/home/dockerv01,target=/mydata3 alpine /bin/sh
通过volumes-from将另一个容器的挂载点复制到自身,实现数据持久化保存。alpine_test11容器无需启动
docker run -itd --name alpine_test12 --volumes-from alpine_test11 alpine /bin/sh
mount bind可以挂单个文件,volume只能挂载目录
查看volume:
docker volume ls docker inspect my_volume01 docker inspect container_name #可查看挂载点
删除容器,所挂载的volume文件不会被删除,还可以被其他容器挂载
参考:https://blog.51cto.com/u_14154700/2463582