当前位置: 首页 > news >正文

【Docker】docker的数据持久化

在 Docker 中,容器的文件系统是临时的。如果容器被删除或重新创建,所有未保存的数据都会丢失。为了解决这个问题,我们可以使用以下两种方式来持久化数据:

方式一: 使用Bind Mounts实现数据持久化

Bind Mounts 允许你将宿主机文件系统中的目录或文件挂载到容器内的某个目录。这种方式非常直接,适合在开发和测试环境中使用。

案例:运行一个Nginx 容器,并将宿主机上的 html 目录挂载到容器内的 /usr/share/nginx/html 目录。

# 宿主机创建一个目录,用于存放数据
mkdir /root/mdynginx/html/# 创建容器,指定挂载路径
docker run -d -p 80 --name mdynginx -v /root/mdynginx/html/:/usr/share/nginx/html/ nginx:1.26

方式二: 使用Volume实现数据持久化

Volumes 是 Docker 推荐的持久化数据方式,因为它们独立于宿主机的文件系统,并由 Docker 管理,适合生产环境使用。

  • 1,创建一个Volume,命名为mdyvolume
docker volume create mdyvolume# 查看volume列表
docker volume ls
  • 2,运行容器,并使用
docker run -d -p 80 --name mdynginx2 -v mdyvolume:/usr/share/nginx/html nginx:1.26
  • 3,查看volume中的数据
docker volume inspect mdyvolume[{"CreatedAt": "2024-08-18T09:53:46+08:00","Driver": "local","Labels": null,"Mountpoint": "/var/lib/docker/volumes/mdyvolume/_data",  # 该路径为数据持久存储位置"Name": "mdyvolume","Options": null,"Scope": "local"}
]

以上两种方式存储,删除容器后,再次创建容器,数据依然存在,做到持久化!


http://www.mrgr.cn/news/6022.html

相关文章:

  • 在Linux系统下配置IP地址的方法
  • VS Code 远程连接SSH服务
  • openEuler安装openGauss5.0单机数据库
  • 海山数据库(He3DB)源码详解:He3DB-XLogWrite函数
  • Sa-Token学习圣经:史上最全的权限设计方案,一文帮你成专家
  • 【数字三角形】
  • python中常见的语法糖
  • 【深度学习入门项目】基于支持向量机的手写数字识别
  • Circuitjs web 在线电路模拟器应用简介
  • 深度解析软件开发中的视频“上墙”技术实现
  • 设计模式笔记01(java版)
  • XSS复现
  • js中的字符串的length的知识点。
  • 008 三级分类
  • 坐标大连!提交EI、Scopus、知网检索!第五届经济管理与大数据应用国际学术会议(ICEMBDA 2024)
  • 网络工程3(子网通信,为什么要使用mac和ip)
  • 机械学习—零基础学习日志(如何理解概率论5)
  • 3-4 STM32F405--定时器输入捕获
  • 25考研计算机组成原理复习·3.5高速缓冲存储器
  • 二叉树的统一迭代法