blob: 6a7cba10773f4e1131c5a166f347c1d35d5a3312 [file] [log] [blame]
services:
# 后端服务
backend:
build:
context: . # 指向Java项目目录
ports:
- "5011:5011"
environment:
SPRING_PROFILES_ACTIVE: "prod"
# 确保时区和SSL参数一致
SPRING_DATASOURCE_URL: "jdbc:mysql://202.205.102.121:3306/echodevelop?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true"
SPRING_DATASOURCE_USERNAME: "team11"
SPRING_DATASOURCE_PASSWORD: "Team11000#"
volumes:
- ./uploads:/app/uploads # 挂载上传目录
networks:
- app-network
# dockerfile: Dockerfile
restart: unless-stopped
# 前端服务
frontend:
build: # 指向React项目目录,仅构建静态文件
context: ../echo-frontend # 确保构建上下文包含所有文件
depends_on:
- backend
networks:
- app-network
# dockerfile: Dockerfile
restart: unless-stopped
nginx:
image: nginx:alpine
ports:
- "3011:80" # 暴露 HTTP 端口
# - "443:443" # 若需 HTTPS 则暴露 443
volumes:
- ../echo-frontend/nginx.conf:/etc/nginx/conf.d/default.conf # 挂载 Nginx 配置
- ../echo-frontend/build:/usr/share/nginx/html # 确保路径指向构建目录
- ./uploads:/usr/share/nginx/html/uploads # 让前端能访问上传目录
depends_on:
- frontend
- backend
networks:
- app-network
networks:
app-network: # 自定义网络确保容器互通