blob: 6a7cba10773f4e1131c5a166f347c1d35d5a3312 [file] [log] [blame]
22301111e04603d2025-06-05 21:03:44 +08001services:
2 # 后端服务
3 backend:
4 build:
5 context: . # 指向Java项目目录
6 ports:
7 - "5011:5011"
8 environment:
9 SPRING_PROFILES_ACTIVE: "prod"
10 # 确保时区和SSL参数一致
11 SPRING_DATASOURCE_URL: "jdbc:mysql://202.205.102.121:3306/echodevelop?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true"
12 SPRING_DATASOURCE_USERNAME: "team11"
13 SPRING_DATASOURCE_PASSWORD: "Team11000#"
14 volumes:
15 - ./uploads:/app/uploads # 挂载上传目录
16 networks:
17 - app-network
18 # dockerfile: Dockerfile
19 restart: unless-stopped
20
21 # 前端服务
22 frontend:
23 build: # 指向React项目目录,仅构建静态文件
24 context: ../echo-frontend # 确保构建上下文包含所有文件
25 depends_on:
26 - backend
27 networks:
28 - app-network
29 # dockerfile: Dockerfile
30 restart: unless-stopped
31
32 nginx:
33 image: nginx:alpine
34 ports:
35 - "3011:80" # 暴露 HTTP 端口
36 # - "443:443" # 若需 HTTPS 则暴露 443
37 volumes:
38 - ../echo-frontend/nginx.conf:/etc/nginx/conf.d/default.conf # 挂载 Nginx 配置
39 - ../echo-frontend/build:/usr/share/nginx/html # 确保路径指向构建目录
40 - ./uploads:/usr/share/nginx/html/uploads # 让前端能访问上传目录
41 depends_on:
42 - frontend
43 - backend
44 networks:
45 - app-network
46
47networks:
48 app-network: # 自定义网络确保容器互通