【踩坑记录】Docker Desktop 启动卡死修复  本地 MySQL/Redis 极速迁移 Docker 实战
前言最近在开发一个前后端分离项目前端Vue 3后端.NET 10 ABP 9。目前刚做完用户登录和前后端联调。为了让本地开发环境更加整洁我决定将本地原本运行的MySQL和Redis迁移到Docker容器中运行。在配置和安装过程中遇到了一些由于环境冲突和粗心导致的“小插曲”特此整理记录希望能给遇到类似问题的同学提供参考。一、 解决 Docker Desktop 启动无限转圈问题1. 现象首次运行 Docker Desktop 时界面一直卡在 Starting the Docker Engine... 循环转圈。在任务管理器里结束它后台服务又会自动把它拉起来。2. 原因与解决这大概率是由于上一次安装过程中某些底层组件损坏或配置冲突导致的。仅仅卸载重装由于残留数据的存在往往不起作用。解决步骤停止后台自动拉起以管理员身份运行 CMD停止服务并强制杀死进程codeCmdnet stop com.docker.service taskkill /F /IM Docker Desktop.exe taskkill /F /IM com.docker.backend.exe wsl --shutdown清理卸载残留防止再次继承错误环境在控制面板卸载 Docker 后去手动删除以下三个残留文件夹C:\Users\用户名\.dockerC:\Users\用户名\AppData\Local\Docker旧虚拟磁盘的藏身处务必删除C:\Users\用户名\AppData\Roaming\Docker彻底注销旧虚拟机分发在 CMD 中执行抹掉旧的容器系统残留codeCmdwsl --unregister docker-desktop wsl --unregister docker-desktop-data升级底层的 WSL 组件执行命令将 WSL 升级到最新的 2.7.8 版本codeCmdwsl --update纯净重装重新下载并安装 Docker Desktop。这一次环境被彻底净化启动后瞬间秒开进入了正常的主界面二、 将本地 MySQL Redis 一键迁移至 Docker在开发阶段使用 Docker 跑数据库和缓存MySQLRedis代码在本地 IDE 中调试既能享受热更新又能保持宿主机整洁。1. 备份本地数据库在停用本地数据库前先用 Navicat 连接本地 MySQL将项目数据库导出为 backup.sql包含结构和数据。2. 停用本地服务释放 3306 端口由于 Docker 里的 MySQL 默认也要使用 3306 端口需要先停掉 Windows 原生服务Win R 输入 services.msc 打开服务列表。找到MySQL80服务将其启动类型改为“手动”并点击“停止”。3. 创建 docker-compose.yml在一个干净的文件夹如 E:\Docker下创建配置文件 docker-compose.yml一键拉起 MySQL 和 RediscodeYamlversion: 3.8 services: # 1. MySQL 数据库服务 my-mysql: image: mysql:8.0 container_name: abp-mysql restart: always environment: MYSQL_ROOT_PASSWORD: rootpassword123 # 这里是 Docker 里的 MySQL 密码 ports: - 3306:3306 volumes: - mysql-data:/var/lib/mysql # 2. Redis 缓存服务ABP 运行极其依赖它 my-redis: image: redis:alpine container_name: abp-redis restart: always ports: - 6379:6379 volumes: mysql-data:4. 极速一键启动与数据恢复在 VS Code 的终端或在该文件夹路径下打开 CMD运行命令codeBashdocker compose up -d等待拉取完成后打开 Navicat 新建连接连接到 127.0.0.1:3306密码rootpassword123。新建与原来同名的数据库 inspect_system字符集选 utf8mb4排序规则选 utf8mb4_0900_ai_ci。在新库上右键点击运行 SQL 文件导入我们之前导出的 backup.sql。三、 一个粗心引发的小乌龙Access denied for user root172.18.0.1在配置好一切后我满怀信心地启动 .NET 后端程序结果控制台直接抛出了异常MySqlException: Access denied for user root127.0.0.1 (using password: YES)排查后发现纯属我个人的一个低级失误我连接本地数据库的密码和在 docker-compose 里设置的 MYSQL_ROOT_PASSWORDrootpassword123不一致。但我忘记去后端项目的 appsettings.json 中修改连接字符串里的 Pwd 参数了。解决办法直接将连接字符串中的密码和数据库名改为最新的配置codeJSONConnectionStrings: { Default: Server127.0.0.1;Port3306;Databaseinspect_system;Uidroot;Pwdrootpassword123;Character Setutf8mb4; }修改后保存再次启动项目数据瞬间连通Vue 3 前端联调成功登录和数据拉取完全正常总结通过这次折腾主要收获了两点经验重装 Docker 之前一定要彻底清理卸载残留尤其是 AppData 下的虚拟磁盘缓存和 WSL 注册信息否则重装也会继承之前的安装错误。配置连接字符串时千万要仔细核对密码。这种由于自己粗心导致的数据库拒绝连接错误往往一不留神就会折腾大半天。把 MySQL 和 Redis 托管给 Docker 后本地开发环境清爽了许多。后续功能开发可以继续愉快地推进了

相关新闻

Java计算机毕设之基于 SpringBoot 的企业人力资源信息管理系统的设计与实现 基于 SpringBoot 的人事档案数字化管理系统(完整前后端代码+说明文档+LW,调试定制等)

Java计算机毕设之基于 SpringBoot 的企业人力资源信息管理系统的设计与实现 基于 SpringBoot 的人事档案数字化管理系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/6/27 6:09:36阅读更多 →
【课程设计/毕业设计】基于 SpringBoot 技术的企业人事数据管理系统的设计与实现 基于 SpringBoot 的规范化人事档案管理系统【附源码、数据库、万字文档】

【课程设计/毕业设计】基于 SpringBoot 技术的企业人事数据管理系统的设计与实现 基于 SpringBoot 的规范化人事档案管理系统【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/6/27 6:09:36阅读更多 →
TEL 388-200206-V1温度控制器

TEL 388-200206-V1温度控制器

TEL 388-200206-V1 是东京电子(Tokyo Electron)生产的一款半导体设备专用温度控制器。专用于半导体制造设备的温度闭环控制。支持多通道温度监测,可读取热电偶、热敏电阻等多种传感器信号。采用PID控制算法,自动调节加热或冷却输出…

2026/6/27 6:04:36阅读更多 →
前端交互动效实现

前端交互动效实现

前端交互动效实现:提升用户体验的关键 在当今的Web开发中,前端交互动效已成为提升用户体验的重要手段。无论是按钮点击反馈、页面过渡动画,还是复杂的滚动视差效果,精心设计的动效都能让用户感受到流畅与愉悦。随着CSS3、JavaScr…

2026/6/27 7:24:40阅读更多 →
电子厂SMT产线排程优化:JVS-APS提升设备利用率28%

电子厂SMT产线排程优化:JVS-APS提升设备利用率28%

摘要 SMT(表面贴装技术)产线是电子制造的核心环节,其排程复杂度高、换线频繁、设备利用率直接影响产能和交付。本文以电子制造企业的SMT产线APS实施案例为背景,详细阐述JVS-APS系统的选型过程、排程算法优化方案及上线效果。企业…

2026/6/27 7:24:40阅读更多 →
软件服务定位器管理化的服务查找获取

软件服务定位器管理化的服务查找获取

软件服务定位器管理化的服务查找获取:现代架构的核心枢纽 在分布式系统和微服务架构盛行的今天,服务的高效查找与动态获取成为开发中的关键挑战。软件服务定位器(Service Locator)作为一种设计模式,通过集中化管理服务…

2026/6/27 7:24:40阅读更多 →
系统日志收集分析

系统日志收集分析

系统日志收集分析:企业运维的智慧之眼 在数字化时代,系统日志是记录服务器、应用程序和网络设备运行状态的重要数据。无论是排查故障、优化性能,还是防范安全威胁,日志分析都扮演着关键角色。面对海量日志,如何高效收…

2026/6/27 7:24:40阅读更多 →
HS2-HF Patch:5分钟快速部署,解锁HoneySelect2终极游戏体验

HS2-HF Patch:5分钟快速部署,解锁HoneySelect2终极游戏体验

HS2-HF Patch:5分钟快速部署,解锁HoneySelect2终极游戏体验 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch HS2-HF Patch是一款专为Hone…

2026/6/27 7:24:40阅读更多 →
新一代 YL1621 011A 版本LCD 驱动 IC 重磅升级,便携设备显示方案首选

新一代 YL1621 011A 版本LCD 驱动 IC 重磅升级,便携设备显示方案首选

导语做电动自行车仪表、智能温控面板、家用血压计、NB-IoT 水表的硬件工程师,一定都遇到过两大痛点:电池供电设备续航拉胯、高低温 / 电压波动环境屏幕闪屏、静电死机。 2026 全新迭代 YL1621(011A 新版本),对比旧版 0…

2026/6/27 7:19:39阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/26 11:03:22阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/27 5:46:02阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/26 9:29:01阅读更多 →
10分钟AI语音克隆与实时变声:Retrieval-based-Voice-Conversion-WebUI完整指南

10分钟AI语音克隆与实时变声:Retrieval-based-Voice-Conversion-WebUI完整指南

10分钟AI语音克隆与实时变声&#xff1a;Retrieval-based-Voice-Conversion-WebUI完整指南 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trending/re/Retrie…

2026/6/27 0:04:03阅读更多 →
Layerdivider:3分钟AI智能分层,彻底告别手动抠图时代

Layerdivider:3分钟AI智能分层,彻底告别手动抠图时代

Layerdivider&#xff1a;3分钟AI智能分层&#xff0c;彻底告别手动抠图时代 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 还在为复杂的图像分层工作烦…

2026/6/27 0:04:03阅读更多 →
Tomcat中X-Frame-Options配置实战:防御点击劫持的四种方法与最佳实践

Tomcat中X-Frame-Options配置实战:防御点击劫持的四种方法与最佳实践

1. 项目概述&#xff1a;为什么X-Frame-Options是Web安全的“防盗门”&#xff1f;最近在排查一个老项目的安全审计报告时&#xff0c;又被提到了“点击劫持”风险&#xff0c;矛头直指缺失的X-Frame-Options响应头。这已经不是第一次了&#xff0c;很多开发团队&#xff0c;尤…

2026/6/27 0:04:03阅读更多 →