78 lines
2.1 KiB
YAML
78 lines
2.1 KiB
YAML
# ============================================
|
|||
|
|
# IDC 设备管理系统 - 生产环境配置
|
||
|
|
# 从镜像仓库拉取预构建镜像,无 build 指令
|
||
|
|
# ============================================
|
||
|
|
|
||
|
|
version: '3.8'
|
||
|
|
|
||
|
|
services:
|
||
|
|
# ---------- 后端服务 ----------
|
||
|
|
backend:
|
||
|
|
# 从镜像仓库拉取,需替换为实际的镜像名
|
||
|
|
image: ${BACKEND_IMAGE:-your-registry/idc-backend:latest}
|
||
|
|
container_name: idc-backend
|
||
|
|
volumes:
|
||
|
|
# 配置映射(核心)
|
||
|
|
- ./backend/.env:/app/.env
|
||
|
|
# 数据持久化
|
||
|
|
- ./backend/uploads:/app/uploads
|
||
|
|
- ./backend/logs:/app/logs
|
||
|
|
- ./backend/backups:/app/backups
|
||
|
|
- ./backend/temp:/app/temp
|
||
|
|
env_file:
|
||
|
|
- ./backend/.env
|
||
|
|
environment:
|
||
|
|
- NODE_ENV=production
|
||
|
|
# 生产环境使用 Docker 内 MySQL 时,MYSQL_HOST 需设为 mysql
|
||
|
|
# 使用远程 MySQL 时,保持 .env 中的配置
|
||
|
|
networks:
|
||
|
|
- idc-network
|
||
|
|
restart: unless-stopped
|
||
|
|
healthcheck:
|
||
|
|
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8000/health"]
|
||
|
|
interval: 30s
|
||
|
|
timeout: 10s
|
||
|
|
retries: 3
|
||
|
|
start_period: 30s
|
||
|
|
|
||
|
|
# ---------- 前端(Nginx)服务 ----------
|
||
|
|
frontend:
|
||
|
|
image: ${FRONTEND_IMAGE:-your-registry/idc-frontend:latest}
|
||
|
|
pull_policy: always
|
||
|
|
container_name: idc-frontend
|
||
|
|
ports:
|
||
|
|
- "80:80"
|
||
|
|
networks:
|
||
|
|
- idc-network
|
||
|
|
depends_on:
|
||
|
|
- backend
|
||
|
|
restart: unless-stopped
|
||
|
|
|
||
|
|
# ---------- MySQL 数据库 ----------
|
||
|
|
# 如需使用本地 MySQL 容器,取消下方注释
|
||
|
|
# mysql:
|
||
|
|
# image: mysql:8.0
|
||
|
|
# container_name: idc-mysql
|
||
|
|
# volumes:
|
||
|
|
# - mysql_data:/var/lib/mysql
|
||
|
|
# environment:
|
||
|
|
# MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
||
|
|
# MYSQL_DATABASE: ${MYSQL_DATABASE:-idc_management}
|
||
|
|
# MYSQL_USER: ${MYSQL_USER:-idc_user}
|
||
|
|
# MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
||
|
|
# networks:
|
||
|
|
# - idc-network
|
||
|
|
# restart: unless-stopped
|
||
|
|
# healthcheck:
|
||
|
|
# test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
||
|
|
# interval: 10s
|
||
|
|
# timeout: 5s
|
||
|
|
# retries: 5
|
||
|
|
|
||
|
|
networks:
|
||
|
|
idc-network:
|
||
|
|
driver: bridge
|
||
|
|
|
||
|
|
# volumes:
|
||
|
|
# mysql_data:
|