Docker之5 数据卷管理

简介: Docker数据卷管理

Docker数据卷概述

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

数据卷类型

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

1_jpeg
P.S. 图片来自网络

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

创建数据卷

docker volume create <Volume>

2_jpeg

查看数据卷

docker volume ls

3_jpeg

挂载数据卷

docker run -v <Volume>:<ContainerFileSystemPath>:<Mode> <Image>

4_jpeg

删除数据卷

docker volume rm <Volume>

5_jpeg

查看数据卷详情

docker volume inspect <Volume>

6_jpeg

基于绑定挂载

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

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

7_jpeg

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

docker run -v <HostFileSystemPath>:<ContainerFileSystemPath>:<Mode> <Image>

7_jpeg

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

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

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

8_jpeg

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

docker run -it --tmpfs <Path> <Image>

9_jpeg

额外的选项

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

10_jpeg

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

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

11_jpeg

目录
相关文章
|
1月前
|
Java Linux Maven
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
|
1月前
|
关系型数据库 MySQL Docker
【Docker】4、Docker 数据卷
【Docker】4、Docker 数据卷
32 0
|
3月前
|
关系型数据库 MySQL 数据库
百度搜索:蓝易云【【Docker】Docker部署Mysql并设置数据持久化教程】
通过以上步骤,您已经成功地在Docker中部署了MySQL,并设置了数据持久化,确保数据在容器重新启动或迁移时得以保留。
50 0
|
1月前
|
存储 Linux 数据安全/隐私保护
如何在本地Docker中部署MinIO服务并实现远程访问管理界面
如何在本地Docker中部署MinIO服务并实现远程访问管理界面
200 0
|
4月前
|
数据管理 数据库 数据安全/隐私保护
数据管理与持久化:深度解析Docker数据卷
Docker 数据卷在容器化应用中扮演着关键角色,它们提供了一种灵活且可持久化的方式来处理应用数据。本文将深入讨论 Docker 数据卷的基本概念、使用方法以及一系列高级应用场景,通过更为丰富和实际的示例代码,帮助大家全面掌握数据卷的使用和管理。
|
3月前
|
消息中间件 Docker 容器
Docker中的RabbitMQ已经启动运行,但是管理界面打不开
Docker中的RabbitMQ已经启动运行,但是管理界面打不开
|
1月前
|
数据管理 应用服务中间件 nginx
Docker卷和数据管理
Docker卷和数据管理
15 1
|
1月前
|
Ubuntu Docker 容器
Docker镜像管理
Docker镜像管理
91 0
|
2月前
|
存储 机器学习/深度学习 Cloud Native
深入浅出Docker容器数据卷
深入浅出Docker容器数据卷
38 1
|
2月前
|
Kubernetes Unix Docker
k8s管理docker
k8s管理docker