windows本地用docker desktop一键部署mysql、redis、postgresql、nacos、kafka等中间件,核心是环境准备(启用wsl2+配置镜像加速)、目录规划(数据与配置挂载到宿主机确保持久化)、docker-compose统一编排(含健康检查、自动重启、依赖顺序),启动后可快速验证并随时修改配置重启生效。

直接上手配,重点是稳、可持久、易改。Windows 本地开发用 Docker Desktop 搭 MySQL、Redis、PostgreSQL、Nacos、Kafka 这类中间件,核心就三件事:环境准备好、配置落到位、服务跑起来。
一、Docker Desktop 装好并调优
装完别急着拉镜像,先做两件关键事:
- 开启 WSL2 后端(Settings → General → ✅ Use WSL 2 based engine),性能更稳,尤其对 Kafka/ZooKeeper 这类依赖网络和磁盘的组件
- 配镜像加速源,避免卡在 pull 环节。进 Settings → Docker Engine,贴入国内可用地址,例如:
{"registry-mirrors": ["https://docker.m.daocloud.io", "https://docker.1ms.run"]}点 Apply & Restart 生效
二、目录结构提前规划好
所有数据和配置必须挂载到宿主机,否则删容器=丢数据。建议建一个统一工作目录,比如 D:\docker-env,再按服务建子目录:
-
mysql\data+mysql\conf.d -
redis\data+redis\conf -
postgres\data+postgres\conf -
nacos\logs -
kafka\data -
zookeeper\data(Kafka 通常需配套 ZooKeeper)
这些目录 Windows 下用资源管理器新建即可,Docker 启动时会自动初始化内容。
三、用 docker-compose.yml 统一编排
别一个个 run,写一份 docker-compose.yml 管全家。关键点:
- 所有服务加
restart: unless-stopped,开机或崩溃后自动恢复 - 每个服务都挂载对应目录,例如 Redis:
redis: image: redis:7-alpine command: redis-server /usr/local/etc/redis.conf volumes: - ./redis/data:/data - ./redis/conf/redis.conf:/usr/local/etc/redis.conf ports: - "6379:6379" - MySQL/PostgreSQL 注意初始化脚本支持(如
./mysql/conf.d/init.sql会在首次启动时执行) - Nacos 若用 MySQL 存配置,需先确保 MySQL 已启动,用
depends_on+ healthcheck 控制顺序
四、启动与验证一步到位
- 进入
D:\docker-env目录,执行:docker-compose up -d
- 等 30 秒,检查状态:
docker-compose ps
全部显示
healthy或Up就算成功 - 浏览器访问:
- MySQL:用 Navicat 或 DBeaver 连
localhost:3306(账号 root,密码按你设的) - Redis:
redis-cli -h 127.0.0.1 -p 6379 -a yourpass - Nacos:
http://localhost:8848(默认账号 nacos/nacos) - Kafka:用
kafka-topics.sh或工具连localhost:9092(注意 advertised.listeners 配的是宿主机可访问地址)
- MySQL:用 Navicat 或 DBeaver 连
配置不是一次性的活,后续改 redis.conf 或 nacos/application.properties,只需重启对应服务:
docker-compose restart redis
不用重拉镜像,也不用删容器。











