Docker 数据管理

网友投稿 650 2022-05-29

方便宿主机直接访问容器中的文件,容器中的文件没有持久化,当容器删除后,文件数据也会随之消失,且没有使用数据卷的容器,其他容器也无法直接访问相互的文件。

数据卷存在于宿主机的文件系统中,独立于容器,和容器的生命周期是分离的。

数据卷可以目录也可以是文件,容器可以利用数据卷与宿主机进行数据共享,实现了容器间的数据共享和交换。

容器启动初始化时,如果容器使用的镜像包含了数据,这些数据会拷贝到数据卷中。

容器对数据卷的修改是实时进行的。

数据卷的变化不会影响镜像的更新。数据卷是独立于联合文件系统,镜像是基于联合文件系统。镜像与数据卷之间不会有相互影响。

bind mounts:将宿主机上的一个文件或目录被挂载到容器上

volumes:由docker创建和管理。使用docker volume命令管理

tmpfs mounts:tmpfs是一种基于内存的临时文件系统,tmpfs mounts数据不会存储到磁盘上

命令参数: docker run/create -v

具体用法:

-v 宿主机文件或文件夹路径:容器中的文件或文件夹路径

–mount type=bind,src=宿主机文件或文件夹路径,dst=容器中的文件或文件夹路径

注意:使用方法二创建时,src后的文件夹或文件必须提前创建

Docker 数据卷管理

命令参数: docker run/create -v

具体用法:

-v VOLUME-NAME:容器中的文件或文件夹

–mount type=volume,src=VOLUME-NAME,dst=容器中的文件或文件夹路径

volume对象管理命令:

docker volume 命令管理volume数据卷对象 docker volume create 创建数据卷对象 docker volume inspect 查看数据卷详细信息 docker volume ls 查看已创建的数据卷对象 docker volume prune 删除未被使用的数据卷对象 docker volume rm 删除一个或多个数据卷对象

命令参数: docker run/create -v

具体用法:

–mount type=tmfps,dst=PATH

命令参数: docker run/create --volumes-from [容器]

命令格式:docker run/create --volumes-from CONTAINER

Docker的数据卷更多会是使用volumes方式来进行使用。

使用时需注意:

如果挂载一个空的数据卷到容器中的一个非空目录中,那么这个目录下的文件会被复制到数据卷中。

如果挂载一个非空的数据卷到容器中的一个目录中,那么容器中的目录中会显示数据卷中的数据。如果原来容器中的目录中有数据,那么这些原始数据会被隐藏掉。

第一个规则可以帮助我们初始化数据卷中的内容。第二个规则可以保证挂载数据卷后的数据总是你期望的结果。

Docker 容器

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:CentOS安装crontab
下一篇:全模型组的测试初步结果
相关文章