77 lines
2.1 KiB
YAML
77 lines
2.1 KiB
YAML
services:
|
||
# 前端服务
|
||
shierfeng-frontend:
|
||
build:
|
||
context: ../shierfeng-fastapi-frontend
|
||
dockerfile: Dockerfile
|
||
image: shierfeng-frontend:latest
|
||
container_name: shierfeng-frontend-test
|
||
ports:
|
||
- "80:80"
|
||
volumes:
|
||
- ../shierfeng-fastapi-frontend/bin/nginx.dockermy.conf:/etc/nginx/conf.d/default.conf
|
||
depends_on:
|
||
- shierfeng-backend-my
|
||
networks:
|
||
- shierfeng-network-test
|
||
|
||
# 后端服务(MySQL版本)
|
||
shierfeng-backend-my:
|
||
build:
|
||
context: ../shierfeng-fastapi-backend
|
||
dockerfile: Dockerfile.my
|
||
image: shierfeng-backend-my:latest
|
||
container_name: shierfeng-backend-my-test
|
||
ports:
|
||
- "9099:9099"
|
||
environment:
|
||
TRANSPORT_CRYPTO_ENABLED: "false"
|
||
TRANSPORT_CRYPTO_MODE: "off"
|
||
depends_on:
|
||
shierfeng-mysql:
|
||
condition: service_healthy
|
||
shierfeng-redis:
|
||
condition: service_healthy
|
||
networks:
|
||
- shierfeng-network-test
|
||
|
||
# MySQL服务
|
||
shierfeng-mysql:
|
||
image: mysql:8.0
|
||
container_name: shierfeng-mysql-test
|
||
environment:
|
||
MYSQL_ROOT_PASSWORD: root
|
||
MYSQL_DATABASE: shierfeng-fastapi
|
||
ports:
|
||
- "13307:3306"
|
||
volumes:
|
||
- ../shierfeng-fastapi-backend/sql/shierfeng-fastapi.sql:/docker-entrypoint-initdb.d/01-shierfeng-fastapi.sql
|
||
- ./disable_captcha.sql:/docker-entrypoint-initdb.d/02-disable-captcha.sql
|
||
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --skip-character-set-client-handshake=1
|
||
networks:
|
||
- shierfeng-network-test
|
||
healthcheck:
|
||
test: ["CMD", "bash", "-c", "mysqladmin ping -h localhost -u root -proot && mysql -h localhost -u root -proot -e 'SELECT 1'"]
|
||
interval: 5s
|
||
timeout: 10s
|
||
retries: 30
|
||
|
||
# Redis服务
|
||
shierfeng-redis:
|
||
image: redis:latest
|
||
container_name: shierfeng-redis-test
|
||
ports:
|
||
- "16380:6379"
|
||
networks:
|
||
- shierfeng-network-test
|
||
healthcheck:
|
||
test: ["CMD", "redis-cli", "ping"]
|
||
interval: 5s
|
||
timeout: 10s
|
||
retries: 30
|
||
|
||
# 网络配置
|
||
networks:
|
||
shierfeng-network-test:
|
||
name: shierfeng-network-test
|
||
driver: bridge |