68 lines
1.7 KiB
YAML
68 lines
1.7 KiB
YAML
|
|
version: '3.8'
|
||
|
|
|
||
|
|
services:
|
||
|
|
# 1. MySQL 数据库
|
||
|
|
mysql:
|
||
|
|
image: mysql:8.0
|
||
|
|
container_name: face-mysql
|
||
|
|
restart: always
|
||
|
|
environment:
|
||
|
|
MYSQL_ROOT_PASSWORD: root
|
||
|
|
MYSQL_DATABASE: face_db
|
||
|
|
MYSQL_TZ: Asia/Shanghai
|
||
|
|
ports:
|
||
|
|
- "13307:3306"
|
||
|
|
volumes:
|
||
|
|
- mysql-data:/var/lib/mysql
|
||
|
|
- ./backend-java/src/main/resources/db/schema.sql:/docker-entrypoint-initdb.d/init.sql
|
||
|
|
networks:
|
||
|
|
- face-net
|
||
|
|
|
||
|
|
# 2. 算法服务 (Python)
|
||
|
|
face-algorithm:
|
||
|
|
build:
|
||
|
|
context: ./FaceFeatureExtractorAPI
|
||
|
|
dockerfile: Dockerfile
|
||
|
|
container_name: face-algorithm
|
||
|
|
restart: always
|
||
|
|
ports:
|
||
|
|
- "18000:8000"
|
||
|
|
volumes:
|
||
|
|
- ./FaceFeatureExtractorAPI/models:/app/models
|
||
|
|
- ./FaceFeatureExtractorAPI/checkpoints:/app/checkpoints
|
||
|
|
networks:
|
||
|
|
- face-net
|
||
|
|
|
||
|
|
# 3. 后端服务 (Java)
|
||
|
|
face-backend:
|
||
|
|
build:
|
||
|
|
context: ./backend-java
|
||
|
|
dockerfile: Dockerfile
|
||
|
|
container_name: face-backend
|
||
|
|
restart: always
|
||
|
|
depends_on:
|
||
|
|
- mysql
|
||
|
|
- face-algorithm
|
||
|
|
ports:
|
||
|
|
- "18080:8080"
|
||
|
|
environment:
|
||
|
|
# 覆盖 application.yml 配置
|
||
|
|
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/face_db?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
|
||
|
|
SPRING_DATASOURCE_USERNAME: root
|
||
|
|
SPRING_DATASOURCE_PASSWORD: root
|
||
|
|
# 配置文件上传路径 (覆盖代码中的 Windows 路径)
|
||
|
|
SPRING_SERVLET_MULTIPART_LOCATION: /app/uploads
|
||
|
|
# 算法服务地址 (使用服务名)
|
||
|
|
FACE_EXTRACTOR_API_URL: http://face-algorithm:8000
|
||
|
|
volumes:
|
||
|
|
- ./backend-java/uploads:/app/uploads
|
||
|
|
networks:
|
||
|
|
- face-net
|
||
|
|
|
||
|
|
volumes:
|
||
|
|
mysql-data:
|
||
|
|
|
||
|
|
networks:
|
||
|
|
face-net:
|
||
|
|
driver: bridge
|