Files
wwjcloud/docker/docker-compose.yml

64 lines
1.5 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
services:
mysql:
image: mysql:8.0
container_name: wwjcloud-mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wwjcloud
MYSQL_CHARACTER_SET_SERVER: utf8mb4
MYSQL_COLLATION_SERVER: utf8mb4_general_ci
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
# 先不挂载schema.sql让应用程序自动创建表
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
networks:
- wwjcloud-network
redis:
image: redis:7-alpine
container_name: wwjcloud-redis
restart: unless-stopped
ports:
- "6379:6379"
volumes:
- redis_data:/data
command: redis-server --appendonly yes --requirepass ""
networks:
- wwjcloud-network
# WWJCloud 应用程序容器 (可选,用于生产部署)
app:
build:
context: .
dockerfile: Dockerfile
container_name: wwjcloud-app
restart: unless-stopped
ports:
- "3001:3001"
environment:
- NODE_ENV=production
- DB_HOST=mysql
- DB_PORT=3306
- DB_USERNAME=root
- DB_PASSWORD=root
- DB_DATABASE=wwjcloud
- REDIS_HOST=redis
- REDIS_PORT=6379
depends_on:
- mysql
- redis
networks:
- wwjcloud-network
profiles:
- production # 使用 profile 来控制是否启动应用容器
volumes:
mysql_data:
redis_data:
networks:
wwjcloud-network:
driver: bridge