首页
/ Cool Admin Midway 项目本地开发环境 Docker 部署指南

Cool Admin Midway 项目本地开发环境 Docker 部署指南

2025-07-10 04:43:08作者:宣聪麟

前言

Cool Admin Midway 是一个基于 Midway.js 的后台管理系统框架,为开发者提供了一套完整的后台解决方案。在实际开发过程中,使用 Docker 搭建本地开发环境可以极大地提高开发效率和环境一致性。本文将详细介绍如何使用 Docker Compose 快速搭建 Cool Admin Midway 项目所需的数据库环境。

环境准备

在开始之前,请确保您的系统已经安装了以下软件:

  1. Docker 最新版本
  2. Docker Compose 工具
  3. 推荐使用 VS Code 编辑器并安装 Docker 扩展

Docker Compose 文件解析

下面我们将详细解析提供的 docker-compose.yml 文件,了解每个配置项的作用。

基础配置

version: "3.1"

这指定了我们使用的 Docker Compose 文件格式版本为 3.1,这是目前较为稳定的版本,支持大多数现代 Docker 功能。

网络配置

networks:
  - cool

这里定义了一个名为 "cool" 的自定义网络,所有服务都将加入这个网络。使用自定义网络可以让容器之间通过服务名互相访问,而不需要知道具体的 IP 地址。

MySQL 服务配置

coolDB:
  image: mysql
  command:
    --default-authentication-plugin=mysql_native_password
    --sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
    --group_concat_max_len=102400
  1. image: 使用官方 MySQL 镜像
  2. command: 启动参数配置
    • mysql_native_password: 使用传统的密码认证方式,确保兼容性
    • sql_mode: 设置严格的 SQL 模式,防止不合规的数据操作
    • group_concat_max_len: 增大 GROUP_CONCAT 函数的默认长度限制
restart: always
volumes:
  - ./data/mysql/:/var/lib/mysql/
  1. restart: 容器意外退出时自动重启
  2. volumes: 将容器内的 MySQL 数据目录挂载到宿主机的 ./data/mysql/ 目录,实现数据持久化
environment:
  TZ: Asia/Shanghai
  MYSQL_ROOT_PASSWORD: "123456"
  MYSQL_DATABASE: "cool"
  MYSQL_USER: "root"
  MYSQL_PASSWORD: "123456"

环境变量配置:

  • 设置时区为亚洲/上海
  • 配置 root 用户密码为 123456
  • 创建名为 cool 的数据库
  • 创建 root 用户并设置密码为 123456
ports:
  - 3306:3306

将容器的 3306 端口映射到宿主机的 3306 端口,方便本地连接

Redis 服务配置

coolRedis:
  image: redis
  #command: --requirepass "12345678"
  1. 使用官方 Redis 镜像
  2. 密码配置被注释掉了,如需启用 Redis 密码验证,取消注释并设置自己的密码
restart: always
environment:
  TZ: Asia/Shanghai
volumes:
  - ./data/redis/:/data/
  1. 设置自动重启
  2. 配置时区
  3. 数据持久化到宿主机的 ./data/redis/ 目录
ports:
  - 6379:6379

将 Redis 的 6379 端口映射到宿主机的 6379 端口

使用指南

启动服务

  1. 将提供的 docker-compose.yml 文件保存到项目目录
  2. 打开终端,导航到文件所在目录
  3. 执行以下命令启动服务:
docker-compose up -d

停止服务

docker-compose down

数据备份

由于配置了数据卷挂载,所有数据都保存在宿主机的 ./data/ 目录下:

  • MySQL 数据在 ./data/mysql/
  • Redis 数据在 ./data/redis/

定期备份这些目录即可实现数据备份。

常见问题解决

  1. 端口冲突:如果 3306 或 6379 端口已被占用,可以修改 ports 配置,如 "3307:3306" 表示将容器的 3306 端口映射到宿主机的 3307 端口

  2. 数据目录权限问题:在某些系统上可能需要手动创建 data 目录并设置适当权限

  3. 性能问题:对于开发环境,默认配置已经足够。生产环境需要考虑调整 MySQL 的内存配置等参数

安全建议

  1. 修改默认密码:在生产环境中务必修改默认的 root 密码和 Redis 密码
  2. 限制访问:开发完成后,可以考虑移除端口映射,仅允许应用容器内部访问
  3. 定期备份:虽然配置了数据持久化,但仍建议定期备份重要数据

总结

通过本文介绍的 Docker Compose 配置,您可以快速搭建 Cool Admin Midway 项目所需的数据库环境。这种方式的优势在于:

  • 环境一致性好,团队成员可以使用完全相同的环境
  • 配置简单,一键启动所有服务
  • 数据持久化,不用担心容器重启导致数据丢失
  • 资源隔离,不影响宿主机的其他服务

希望这篇指南能帮助您顺利搭建 Cool Admin Midway 的开发环境。在实际开发中,您可以根据项目需求调整这些配置,以获得最佳的开发体验。