您的位置:首页 > 运维架构 > Docker

Docke(五) docker数据卷管理

2019-06-05 09:01 507 查看

Docker数据卷概述

数据卷是提供数据持久化存储,数据卷完全独立与容器的生命周期,容器在销毁时不会对数据卷进行销毁,对数据卷所持久化的内容不会长生任何变动。

数据卷类型

  1. 基于主机文件系统的数据卷
    由Docker主机进行管理,在文件系统中(/var/lib/docker/volumes)创建出来的文件夹用于存放数据卷,建议采用此方法进行持久化数据。非Docker进程不应修改文件系统这个文件夹。
  2. 基于绑定挂载的数据卷
    可以存储在网络存储等任何位置,Docker主机或Docker容器上的非Docker进程可以随时修改其中的内容。
  3. 基于主机内存的数据卷
    仅存储在主机系统的内存中,永远不会写入主机系统的文件系统。它可以在容器的生命周期中由容器使用,一般用于存储非持久状态或敏感信息。


P.S. 图片来自网络

基于主机文件系统的数据卷

创建数据卷

[code]docker volume create <Volume>

查看数据卷

[code]docker volume ls

挂载数据卷

[code]docker run -v <Volume>:<ContainerFileSystemPath>:<Mode> <Image>

删除数据卷

[code]docker volume rm <Volume>

查看数据卷详情

[code]docker volume inspect <Volume>

基于绑定挂载

创建绑定挂载至本地文件系统 --mount模式

[code]docker run -it --mount type=bind,source=<src>,target=<dst> <image>
docker inspect <container>

创建绑定挂载至本地文件系统 -v模式

[code]docker run -v <HostFileSystemPath>:<ContainerFileSystemPath>:<Mode> <Image>

[code]-v 挂载本地文件系统路径如果不存在该路径则会进行创建,但如果使用 --mount挂载本地文件系统路径时如果路径不存在则会产生报错。但两者所执行后的效果是一样的。

基于主机内存的挂载

创建容器并使用内存挂载卷 --mount模式

[code]docker run -it --mount type=tmpfs,dst=<Path> <Image>

创建容器并使用内存挂载卷 --tmpfs模式

[code]docker run -it --tmpfs <Path> <Image>

额外的选项

[code]#八进制的文件模式,例如1777则是全部可读写。
tmpfs-mode <Auth>
#卷的大小,默认无限制,已byte为单位。
tmpfs-size <Byte>

创建容器并使用内存挂载卷,卷的权限为1777,大小为1000k

[code]docker run -it --mount type=tmpfs,dst=/data,tmpfs-mode=1777,tmpfs-size=1024000 centos:latest

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: