Docker数据卷概述
数据卷是提供数据持久化存储,数据卷完全独立与容器的生命周期,容器在销毁时不会对数据卷进行销毁,对数据卷所持久化的内容不会长生任何变动。
数据卷类型
1.基于主机文件系统的数据卷
由Docker主机进行管理,在文件系统中(/var/lib/docker/volumes)创建出来的文件夹用于存放数据卷,建议采用此方法进行持久化数据。非Docker进程不应修改文件系统这个文件夹。
2.基于绑定挂载的数据卷
可以存储在网络存储等任何位置,Docker主机或Docker容器上的非Docker进程可以随时修改其中的内容。
3.基于主机内存的数据卷
仅存储在主机系统的内存中,永远不会写入主机系统的文件系统。它可以在容器的生命周期中由容器使用,一般用于存储非持久状态或敏感信息。
基于主机文件系统的数据卷
创建数据卷
docker volume create <Volume>
查看数据卷
docker volume ls
挂载数据卷
docker run -v <Volume>:<ContainerFileSystemPath>:<Mode> <Image>
删除数据卷
docker volume rm <Volume>
查看数据卷详情
docker volume inspect <Volume>
基于绑定挂载
创建绑定挂载至本地文件系统 --mount模式
docker run -it --mount type=bind,source=<src>,target=<dst> <image> docker inspect <container>
创建绑定挂载至本地文件系统 -v模式
docker run -v <HostFileSystemPath>:<ContainerFileSystemPath>:<Mode> <Image>
-v 挂载本地文件系统路径如果不存在该路径则会进行创建,但如果使用 --mount 挂载本地文件系统路径时如果路径不存在则会产生报错。但两者所执行后的效果是一样的。
基于主机内存的挂载
创建容器并使用内存挂载卷 --mount模式
docker run -it --mount type=tmpfs,dst=<Path> <Image>
创建容器并使用内存挂载卷 --tmpfs模式
docker run -it --tmpfs <Path> <Image>
额外的选项
#八进制的文件模式,例如1777则是全部可读写。 tmpfs-mode <Auth> #卷的大小,默认无限制,已byte为单位。 tmpfs-size <Byte>
创建容器并使用内存挂载卷,卷的权限为1777,大小为1000k
docker run -it --mount type=tmpfs,dst=/data,tmpfs-mode=1777,tmpfs-size=1024000 centos:latest
文章来源: yekangming.blog.csdn.net,作者:叶康铭,版权归原作者所有,如需转载,请联系作者。
原文链接:yekangming.blog.csdn.net/article/details/103950275