Docker系列之5 数据卷管理

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

(完)