67 lines
1.4 KiB
YAML
67 lines
1.4 KiB
YAML
|
|
version: '3.8'
|
||
|
|
|
||
|
|
services:
|
||
|
|
# MySQL数据库
|
||
|
|
mysql:
|
||
|
|
image: mysql:8.0
|
||
|
|
container_name: gamegroup-mysql-dev
|
||
|
|
environment:
|
||
|
|
MYSQL_ROOT_PASSWORD: password
|
||
|
|
MYSQL_DATABASE: gamegroup
|
||
|
|
MYSQL_USER: gamegroup
|
||
|
|
MYSQL_PASSWORD: gamegroup123
|
||
|
|
ports:
|
||
|
|
- "3306:3306"
|
||
|
|
volumes:
|
||
|
|
- mysql-data:/var/lib/mysql
|
||
|
|
networks:
|
||
|
|
- gamegroup-network
|
||
|
|
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
||
|
|
|
||
|
|
# Redis 缓存
|
||
|
|
redis:
|
||
|
|
image: redis:7-alpine
|
||
|
|
container_name: gamegroup-redis-dev
|
||
|
|
ports:
|
||
|
|
- "6380:6379"
|
||
|
|
networks:
|
||
|
|
- gamegroup-network
|
||
|
|
|
||
|
|
# 后端应用
|
||
|
|
backend:
|
||
|
|
build:
|
||
|
|
context: .
|
||
|
|
dockerfile: Dockerfile
|
||
|
|
target: builder
|
||
|
|
container_name: gamegroup-backend-dev
|
||
|
|
environment:
|
||
|
|
NODE_ENV: development
|
||
|
|
DB_HOST: mysql
|
||
|
|
DB_PORT: 3306
|
||
|
|
DB_USERNAME: root
|
||
|
|
DB_PASSWORD: password
|
||
|
|
DB_DATABASE: gamegroup
|
||
|
|
DB_SYNCHRONIZE: "true"
|
||
|
|
DB_LOGGING: "true"
|
||
|
|
REDIS_HOST: redis
|
||
|
|
REDIS_PORT: 6379
|
||
|
|
JWT_SECRET: dev-secret-key
|
||
|
|
JWT_EXPIRES_IN: 7d
|
||
|
|
ports:
|
||
|
|
- "3000:3000"
|
||
|
|
volumes:
|
||
|
|
- ./src:/app/src
|
||
|
|
- ./test:/app/test
|
||
|
|
depends_on:
|
||
|
|
- mysql
|
||
|
|
networks:
|
||
|
|
- gamegroup-network
|
||
|
|
command: npm run start:dev
|
||
|
|
|
||
|
|
volumes:
|
||
|
|
mysql-data:
|
||
|
|
|
||
|
|
networks:
|
||
|
|
gamegroup-network:
|
||
|
|
driver: bridge
|