89 lines
2.2 KiB
YAML
89 lines
2.2 KiB
YAML
# 沃林学生管理系统 —— Docker Desktop 一键部署
|
|
#
|
|
# 启动: docker compose up -d --build
|
|
# 日志: docker compose logs -f app
|
|
# 停止: docker compose down
|
|
# 清库: docker compose down -v (会删掉 MySQL 数据卷)
|
|
#
|
|
# 说明:
|
|
# * 独立 project name = wolin_sms,不会和已有的 dify / milvus 项目混在一起
|
|
# * 宿主 3306 已被本机 MySQL 占用,所以容器 MySQL 映射到宿主 3307
|
|
# * 应用映射宿主 8010(与 start.bat 保持一致)
|
|
name: wolin_sms
|
|
|
|
services:
|
|
mysql:
|
|
image: mysql:8.0
|
|
container_name: wolin-mysql
|
|
restart: unless-stopped
|
|
command:
|
|
- --character-set-server=utf8mb4
|
|
- --collation-server=utf8mb4_unicode_ci
|
|
- --default-authentication-plugin=mysql_native_password
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: root123456
|
|
MYSQL_DATABASE: wolin_sms
|
|
MYSQL_USER: wolin
|
|
MYSQL_PASSWORD: wolin123456
|
|
TZ: Asia/Shanghai
|
|
ports:
|
|
- "3307:3306" # 宿主机 3307 -> 容器 3306
|
|
volumes:
|
|
- wolin_mysql_data:/var/lib/mysql
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -uroot -proot123456 --silent"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 30
|
|
start_period: 30s
|
|
networks:
|
|
- wolin-net
|
|
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: wolin-sms:1.0.0
|
|
container_name: wolin-app
|
|
restart: unless-stopped
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
environment:
|
|
APP_PORT: "8000"
|
|
TZ: Asia/Shanghai
|
|
|
|
APP_NAME: 沃林学生管理系统
|
|
DEBUG: "true"
|
|
|
|
DB_DRIVER: mysql+pymysql
|
|
DB_HOST: mysql
|
|
DB_PORT: "3306"
|
|
DB_USER: wolin
|
|
DB_PASSWORD: wolin123456
|
|
DB_NAME: wolin_sms
|
|
|
|
JWT_SECRET: wolin-sms-docker-secret-change-me
|
|
JWT_EXPIRE_MINUTES: "720"
|
|
AUTH_ENABLED: "true"
|
|
|
|
ADMIN_USERNAME: admin
|
|
ADMIN_PASSWORD: admin123
|
|
|
|
INIT_DB: "true"
|
|
SEED_DATA: "true"
|
|
DB_WAIT_TIMEOUT: "120"
|
|
ports:
|
|
- "8010:8000" # 宿主机 8010 -> 容器 8000
|
|
networks:
|
|
- wolin-net
|
|
|
|
volumes:
|
|
wolin_mysql_data:
|
|
name: wolin_sms_mysql_data
|
|
|
|
networks:
|
|
wolin-net:
|
|
name: wolin_sms_net
|
|
driver: bridge
|