您的当前位置:首页>全部文章>文章详情

【Docker】Docker创建mysql容器后,在容器中创建的数据库,在容器重启后会消失吗

CrazyPanda发表于:2025-07-08 11:32:22浏览:7次TAG: #docker

Docker 中创建的 MySQL 容器,重启后数据库是否会消失,取决于 数据是否持久化存储。默认情况下,如果未配置数据卷(Volume)或绑定挂载(Bind Mount),重启容器时数据不会消失,但删除容器后数据会丢失;若配置了持久化存储,无论重启还是删除容器,数据都能保留。

1. 默认情况(未配置持久化)

当直接通过 docker run 创建 MySQL 容器,且未指定数据存储路径时:
  • MySQL 的数据默认存储在容器内部的 /var/lib/mysql 目录(容器的可写层)。
  • 重启容器:数据不会消失(因为容器的文件系统在重启后保持不变)。
  • 删除容器:数据会被彻底删除(因为容器的可写层随容器一起销毁)。
示例
# 未配置持久化的容器
docker run -d --name mysql-test -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0
在该容器中创建数据库后,执行 docker restart mysql-test,数据库依然存在;但执行 docker rm -f mysql-test 后,数据会丢失。

2. 配置持久化存储(推荐)

为避免数据丢失,需将 MySQL 的数据目录 /var/lib/mysql 映射到宿主机的目录或 Docker 数据卷,实现数据持久化。此时:
  • 数据实际存储在宿主机或数据卷中,与容器生命周期分离。
  • 重启容器:数据不会消失。
  • 删除容器:数据依然保留,重新创建容器时映射相同路径即可恢复。

两种常见持久化方式:

(1)使用 Docker 数据卷(Volume,推荐)
Docker 数据卷由 Docker 管理,路径由 Docker 自动分配,适合大多数场景:
# 创建数据卷
docker volume create mysql-data

# 启动容器并挂载数据卷
docker run -d --name mysql-persist \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -v mysql-data:/var/lib/mysql \  # 将数据卷挂载到容器的/var/lib/mysql
  mysql:8.0
(2)绑定宿主机目录(Bind Mount)
手动指定宿主机的一个目录作为数据存储路径(需确保宿主机目录有读写权限):
# 宿主机创建目录
mkdir -p /opt/mysql/data
chmod 777 /opt/mysql/data  # 赋予权限(生产环境需谨慎设置权限)

# 启动容器并绑定目录
docker run -d --name mysql-persist \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -v /opt/mysql/data:/var/lib/mysql \  # 宿主机目录映射到容器内
  mysql:8.0

 

猜你喜欢

【网络】聊聊从输入URL到页面展示这中间发生了什么
原文地址https://zhuanlan.zhihu.com/p/6003067781、解析URL:首先会对 URL 进行解析,分析所需要使用的传输协议和请求的资源的路径。如果输入的 URL 中的协议或者主机名不合法,将会把地址栏中输入的内容传递给搜索引擎。如果没有问题,浏览器会检查 URL 中是否出现了非法字符,如果存在非法字符,则对非法字符进行转义后再进行下一过程。2、缓存判断:浏览器会判断所请求的资源是否在缓存里,如果请求的资源在缓存里并且没有失效,那么就直接使用,否则向服务器发起新的请求
发表于:2024-06-19 浏览:247 TAG:
【支付宝】支付宝服务商支付
通过第三方应用授权,服务商在取得商家授权后,可以代商家调用支付宝开放接口,以完成相应的业务逻辑(如代替商家发起当面付的收单请求等)。 授权采用标准的 OAuth2.0 流程,要进行第三方代调用,服务商需要在第三方应用中添加对应功能并获得商家授权,本文介绍服务商的第三方应用如何取得商家应用的授权。
发表于:2023-12-26 浏览:255 TAG: #支付宝
【测试】AB测试总结
文章目录一、AB测试1.1 什么是AB测试1.2 AB测试的优缺点二、假设检验2.1 假设检验原理2.2 假设检验步骤:2.3 样本量的确定2.4 样本质的控制三、ABtest案例一、AB测试1.1 什么是AB测试在互联网中AB测试通常指:为web或者app界面、流程设定两个或多个版本,在同一时间维度下,分别让类似的客户群体来访问,收集各群主的用户体验数据和业务数据,最后根据显著性检验分析评估出最优的版本。1.2 AB测试的优缺点AB测试的优点:通过实验对比,建立数据驱动,不断优化产品,还能降低
发表于:2024-06-22 浏览:247 TAG:
【系统】系统架构概述
什么是系统架构  系统架构 (System Architecture )是系统的一种整体的高层次的结构表示, 是系统的骨架和根基,也决定 了系统的健壮性和生命周期的长短。什么系统架构设计师  系统架构设计师在整个项目研制中的主导地位愈加重要。可以说,系统架构师就是项目的总设计师,他是一个既需要掌控整体又需要洞悉局部瓶颈,并依据具体的业务场景给出解决方案的总体设计人员;他要确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员;他要掌握技术团队的能力需要,
发表于:2024-06-20 浏览:265 TAG:
赚金币软件哪家强,亲测几款常见赚金币APP,有没有你在用的
大家伙,我是疯猫。最近换了份新工作,有了较多的空闲时间,想着闲着也是闲着,就下载了几款赚金币的APP,没事刷刷金币,赚个打车钱。
发表于:2025-07-06 浏览:11 TAG: #赚金币
【网络】国内十大API数据服务平台
一、数据宝 https://www.chinadatapay.com/数据宝是国内领先的国有数据资产代运营服务商,数据丰富多元,覆盖人、企、车、路、能源、环境等数百个数据因子维度,专注于为国有数据资源方提供数据治理、产品研发、交易流通、应用变现等数据增值代运营服务,是国内少数同时具备了“国资参股、政府监管扶持、市场化运作、大数据资产交易合法经营资质”属性的大数据“国家队”。二、天眼数聚 https://www.tianyandata.cn/天眼数聚是一家专注于大数据服务的技术
发表于:2024-08-08 浏览:301 TAG: #api
【网络】http面试题
一、http协议 HTTP协议是什么 HTTP(HyperText Transfer Protocol:超文本传输协议) 超文本可以说是“超级文本”或者说是“带超链接文本”。超链接文本可以有图片、动图、文字、视频。从本质上说它是一个内容文本,我们对网站的浏览,实际上是对内容的浏览。对于这些内容,都有统一的路径,我们称之为URL地址 http(s): //<主机>:<端口>/<路径> http:表示协议,有http和https协议 主机可以是ip也可以是域名,如
发表于:2024-07-17 浏览:223 TAG:
【测试】软件测试岗位常见的七中测试方法
软件测试是保证软件质量的一个非常重要的环节,而软件测试方法有很多种,测试人员要根据实际需求和目标选择合适的测试方法,才能提高软件测试的效率和准确性,确保软件质量和可靠性。下面将介绍软件测试常见的七种测试方法。黑盒测试黑盒测试又称功能测试,该测试方法验证被测对象使用质量及外部质量表现。采用黑盒测试方法,测试工程师将测试对象看作一个黑盒子,完全不考虑程序内部逻辑结构和内部特性,只依据需求规格说明书、设计文档及其他需求描述文档,检查被测对象是否与期望需求一致。白盒测试白盒测试,又称结构测试、逻辑驱动测
发表于:2024-06-22 浏览:272 TAG:
【Swoole】Swoole常用配置设置
红色的标注表示比较重要的参数,可以影响到服务器的运行性能,务必注意1.worker_num描述:指定启动的worker进程数。 说明:swoole是master-> n * worker的模式,开启的worker进程数越多,server负载能力越大,但是相应的server占有的内存也会更多, 建议开启的worker进程数为cpu核数的1-4倍。 示例: 'worker_num' => 8  2. max_request  描述:每个worker进
发表于:2024-08-12 浏览:237 TAG: #php #thinkphp #swoole
【服务器】nginx面试题
目录什么是Nginx为什么要用Nginx为什么Nginx性能这么高Nginx怎么处理请求什么是正向代理和反向代理Nginx的优缺点Nginx应用场景Nginx的目录结构有哪些Nginx静态资源如何用Nginx解决前端跨域问题Nginx虚拟主机基于虚拟主机配置域名基于端口的虚拟主机location的作用是什么location的语法location正则示例限流怎么做的限流有三种:三种限流算法正常限制访问频率(正常流量)突发限制访问频率(突发流量)限制并发连接数漏桶算法令牌桶算法动静分离为什么要做动静
发表于:2024-07-17 浏览:259 TAG: #nginx