Cool Admin Midway 项目本地开发环境 Docker 部署指南
前言
Cool Admin Midway 是一个基于 Midway.js 的后台管理系统框架,为开发者提供了一套完整的后台解决方案。在实际开发过程中,使用 Docker 搭建本地开发环境可以极大地提高开发效率和环境一致性。本文将详细介绍如何使用 Docker Compose 快速搭建 Cool Admin Midway 项目所需的数据库环境。
环境准备
在开始之前,请确保您的系统已经安装了以下软件:
- Docker 最新版本
- Docker Compose 工具
- 推荐使用 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
- image: 使用官方 MySQL 镜像
- command: 启动参数配置
mysql_native_password
: 使用传统的密码认证方式,确保兼容性sql_mode
: 设置严格的 SQL 模式,防止不合规的数据操作group_concat_max_len
: 增大 GROUP_CONCAT 函数的默认长度限制
restart: always
volumes:
- ./data/mysql/:/var/lib/mysql/
- restart: 容器意外退出时自动重启
- 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"
- 使用官方 Redis 镜像
- 密码配置被注释掉了,如需启用 Redis 密码验证,取消注释并设置自己的密码
restart: always
environment:
TZ: Asia/Shanghai
volumes:
- ./data/redis/:/data/
- 设置自动重启
- 配置时区
- 数据持久化到宿主机的 ./data/redis/ 目录
ports:
- 6379:6379
将 Redis 的 6379 端口映射到宿主机的 6379 端口
使用指南
启动服务
- 将提供的 docker-compose.yml 文件保存到项目目录
- 打开终端,导航到文件所在目录
- 执行以下命令启动服务:
docker-compose up -d
停止服务
docker-compose down
数据备份
由于配置了数据卷挂载,所有数据都保存在宿主机的 ./data/ 目录下:
- MySQL 数据在 ./data/mysql/
- Redis 数据在 ./data/redis/
定期备份这些目录即可实现数据备份。
常见问题解决
-
端口冲突:如果 3306 或 6379 端口已被占用,可以修改 ports 配置,如 "3307:3306" 表示将容器的 3306 端口映射到宿主机的 3307 端口
-
数据目录权限问题:在某些系统上可能需要手动创建 data 目录并设置适当权限
-
性能问题:对于开发环境,默认配置已经足够。生产环境需要考虑调整 MySQL 的内存配置等参数
安全建议
- 修改默认密码:在生产环境中务必修改默认的 root 密码和 Redis 密码
- 限制访问:开发完成后,可以考虑移除端口映射,仅允许应用容器内部访问
- 定期备份:虽然配置了数据持久化,但仍建议定期备份重要数据
总结
通过本文介绍的 Docker Compose 配置,您可以快速搭建 Cool Admin Midway 项目所需的数据库环境。这种方式的优势在于:
- 环境一致性好,团队成员可以使用完全相同的环境
- 配置简单,一键启动所有服务
- 数据持久化,不用担心容器重启导致数据丢失
- 资源隔离,不影响宿主机的其他服务
希望这篇指南能帮助您顺利搭建 Cool Admin Midway 的开发环境。在实际开发中,您可以根据项目需求调整这些配置,以获得最佳的开发体验。