首页
/ 使用Docker Compose部署校园茅台预约系统(campus-imaotai)

使用Docker Compose部署校园茅台预约系统(campus-imaotai)

2025-07-09 00:49:01作者:滑思眉Philip

校园茅台预约系统(campus-imaotai)是一个基于Docker容器化部署的应用系统,通过Docker Compose可以快速搭建完整的运行环境。本文将详细介绍如何使用docker-compose.yml文件部署该系统。

系统架构概述

该校园茅台预约系统采用典型的微服务架构,包含以下核心组件:

  1. MySQL数据库:存储系统数据
  2. Redis缓存:提供高速缓存服务
  3. Nginx Web服务器:提供静态资源服务和反向代理
  4. 校园茅台应用服务:核心业务逻辑处理

部署准备

在开始部署前,请确保已满足以下条件:

  • 已安装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配置文件
  • 时区设置为上海

部署步骤

  1. 创建必要的目录结构:

    mkdir -p /docker/{mysql,redis,nginx,server}/{data,conf,logs}
    
  2. 准备Redis配置文件(redis.conf)并放入/docker/redis/conf目录

  3. 准备Nginx配置文件(nginx.conf)并放入/docker/nginx/conf目录

  4. 准备校园茅台应用配置文件(application-prod.yml)并放入/docker/server/conf目录

  5. 将docker-compose.yml文件保存到合适位置

  6. 启动所有服务:

    docker-compose up -d
    

注意事项

  1. 生产环境务必修改MySQL root密码和Redis密码
  2. 建议配置Nginx SSL证书以提高安全性
  3. 根据实际服务器资源调整MySQL内存参数
  4. 定期备份MySQL和Redis数据
  5. 监控各容器资源使用情况,必要时进行扩容

常见问题解决

  1. 容器启动失败:检查日志docker logs <容器名>
  2. 端口冲突:确保8160等端口未被占用
  3. 权限问题:确保挂载目录有适当权限
  4. 数据库连接问题:检查MySQL服务是否正常启动

通过以上配置和步骤,您可以成功部署校园茅台预约系统。根据实际需求,您还可以进一步优化配置参数或添加监控组件。