Docker数据管理(数据卷)

docker在容器中管理数据主要有两种方式:

  • 数据卷(Volumes)

  • 挂载主机目录(Bind mounts)

数据卷

为了很好的实现数据保存和数据共享,Docker提出了Volume这个概念,简单的说就是绕过默认的联合文件系统,而以正常的文件或者目录的形式存在于宿主机上。又被称作数据卷。

数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:

数据卷 可以在容器之间共享和重用

对 数据卷 的修改会立马生效

对 数据卷 的更新,不会影响镜像

数据卷 默认会一直存在,即使容器被删除

创建数据卷

docker volume create my-vol

查看所有数据卷

docker volume ls

删除一个 volume

docker volume rm my-vo l

创建并进入容器

docker run -it --name c1 centos

创建容器并后台运行

docker run -itd --name c2 centos

删除所有容器包括在运行的容器

docker rm -f $(docker ps -aq)

挂载数据卷

在用 docker run 命令的时候,使用 --mount 标记来将 数据卷 挂载到容器里。在一次 docker

run 中可以挂载多个 数据卷 。

docker run -itd \

--name 容器名字 \

--mount source=数据卷名称,target=容器中的对应目录 \

镜像名称

查看数据卷的具体信息

docker inspect 数据卷名字

挂载目录

挂载之前必须保证该目录存在,否则挂载失败(宿主机目录)

方法一

docker run -it \

--name c2 --mount \

type=bind,source=/usr/local/java,target=/aa centos

方法二

Docker run -it \

--name c2 \

-v /usr/local/java:/aa \

Centos

创建数据卷容器

docker run -itd --name name -v dir centos

挂载数据卷容器

docker run -itd --name name --volumes-from db_data centos

相关推荐
霖霖总总1 分钟前
[小技巧39]Linux 文件与命令查找工具(which、whereis、locate、find)全面解析
linux·运维
ayaya_mana17 分钟前
在 CentOS 7/RHEL 7 上安装并切换至新版内核
linux·运维·centos
三不原则33 分钟前
故障案例:数据库慢查询导致交易延迟,AIOps 如何自动定位?
运维·数据库
gzxx2007sddx38 分钟前
ubuntu挂载访问windows的共享文件夹
linux·运维·ubuntu·挂载·共享
市安42 分钟前
基于 LVS+Keepalived+NFS 的高可用 Web 集群构建与验证
运维·服务器·网络·lvs·keepalived·ipvsadm
码农小卡拉43 分钟前
Docker Compose部署EMQX集群详细教程(Ubuntu环境优化版)
mqtt·ubuntu·docker·容器·emqx
AC赳赳老秦1 小时前
Dify工作流+DeepSeek:运维自动化闭环(数据采集→报告生成)
android·大数据·运维·数据库·人工智能·golang·deepseek
RisunJan1 小时前
Linux命令-kill(向进程发送信号的核心命令)
linux·运维·服务器
WilliamHu.2 小时前
Windows 环境下使用 Docker 成功部署 Dify(完整实战记录)
运维·docker·容器
范纹杉想快点毕业2 小时前
嵌入式工程师一年制深度进阶学习计划(纯技术深耕版)
linux·运维·服务器·c语言·数据库·算法