使用Docker Compose部署校园茅台预约系统(campus-imaotai)
2025-07-09 00:49:01作者:滑思眉Philip
校园茅台预约系统(campus-imaotai)是一个基于Docker容器化部署的应用系统,通过Docker Compose可以快速搭建完整的运行环境。本文将详细介绍如何使用docker-compose.yml文件部署该系统。
系统架构概述
该校园茅台预约系统采用典型的微服务架构,包含以下核心组件:
- MySQL数据库:存储系统数据
- Redis缓存:提供高速缓存服务
- Nginx Web服务器:提供静态资源服务和反向代理
- 校园茅台应用服务:核心业务逻辑处理
部署准备
在开始部署前,请确保已满足以下条件:
- 已安装Docker和Docker Compose
- 服务器具有足够资源(建议至少2核4G配置)
- 已创建必要的目录结构(如/docker/mysql等)
详细配置解析
MySQL服务配置
mysql:
image: mysql:5.7
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: 123456789
MYSQL_DATABASE: 'campus_imaotai'
volumes:
- /docker/mysql/data/:/var/lib/mysql/
- /docker/mysql/conf/:/etc/mysql/conf.d/
- /docker/mysql/logs:/logs
command: [
'mysqld',
'--innodb-buffer-pool-size=80M',
'--character-set-server=utf8mb4',
'--collation-server=utf8mb4_unicode_ci',
'--default-time-zone=+8:00',
'--lower-case-table-names=1'
]
关键配置说明:
- 使用MySQL 5.7版本镜像
- 设置root密码为123456789(生产环境请修改)
- 预创建campus_imaotai数据库
- 数据、配置和日志目录挂载到宿主机
- 优化MySQL参数:设置字符集、时区和表名大小写规则
Redis服务配置
redis:
image: redis:6.2.12
container_name: redis
volumes:
- /docker/redis/conf:/redis/config
- /docker/redis/data/:/redis/data/
command: "redis-server /redis/config/redis.conf"
关键配置说明:
- 使用Redis 6.2.12版本镜像
- 配置文件和持久化数据挂载到宿主机
- 通过自定义配置文件启动Redis服务
Nginx服务配置
nginx-web:
image: nginx:1.23.4
container_name: nginx-web
environment:
TZ: Asia/Shanghai
volumes:
- /docker/nginx/html:/usr/share/nginx/html
- /docker/nginx/cert:/etc/nginx/cert
- /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- /docker/nginx/log:/var/log/nginx
关键配置说明:
- 使用Nginx 1.23.4版本镜像
- 设置时区为上海
- 挂载静态页面目录、SSL证书目录、配置文件和日志目录
- 支持自定义Nginx配置
校园茅台应用服务配置
campus-server:
image: campus/campus-imaotai:1.0.13
container_name: campus-imaotai
environment:
TZ: Asia/Shanghai
SERVER_PORT: 8160
spring.config.additional-location: /home/campus/conf/application-prod.yml
volumes:
- /docker/server/conf:/home/campus/conf
关键配置说明:
- 使用campus-imaotai 1.0.13版本镜像
- 应用服务监听8160端口
- 支持外部挂载Spring Boot配置文件
- 时区设置为上海
部署步骤
-
创建必要的目录结构:
mkdir -p /docker/{mysql,redis,nginx,server}/{data,conf,logs}
-
准备Redis配置文件(redis.conf)并放入/docker/redis/conf目录
-
准备Nginx配置文件(nginx.conf)并放入/docker/nginx/conf目录
-
准备校园茅台应用配置文件(application-prod.yml)并放入/docker/server/conf目录
-
将docker-compose.yml文件保存到合适位置
-
启动所有服务:
docker-compose up -d
注意事项
- 生产环境务必修改MySQL root密码和Redis密码
- 建议配置Nginx SSL证书以提高安全性
- 根据实际服务器资源调整MySQL内存参数
- 定期备份MySQL和Redis数据
- 监控各容器资源使用情况,必要时进行扩容
常见问题解决
- 容器启动失败:检查日志
docker logs <容器名>
- 端口冲突:确保8160等端口未被占用
- 权限问题:确保挂载目录有适当权限
- 数据库连接问题:检查MySQL服务是否正常启动
通过以上配置和步骤,您可以成功部署校园茅台预约系统。根据实际需求,您还可以进一步优化配置参数或添加监控组件。