87 lines
1.9 KiB
YAML
87 lines
1.9 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# MySQL 服务(可选,如果需要可以取消注释)
|
|
# mysql:
|
|
# image: mysql:8.0
|
|
# container_name: mysql-container
|
|
# restart: on-failure
|
|
# environment:
|
|
# MYSQL_ROOT_PASSWORD: 12345678
|
|
# MYSQL_DATABASE: inventory_v2
|
|
# ports:
|
|
# - "23306:3306"
|
|
# volumes:
|
|
# - ./mysql/data:/var/lib/mysql
|
|
# networks:
|
|
# - app-network
|
|
|
|
# API 服务
|
|
api:
|
|
image: node:22-alpine
|
|
container_name: api-container
|
|
restart: on-failure
|
|
environment:
|
|
- NODE_ENV=prod
|
|
# 数据库连接信息(连接到外部 MySQL 容器)
|
|
- MYSQL_HOST=host.docker.internal
|
|
- MYSQL_PORT=23306
|
|
- MYSQL_USERNAME=root
|
|
- MYSQL_PASSWORD=root
|
|
- MYSQL_DATABASE=inventory
|
|
volumes:
|
|
- ../../API:/app
|
|
working_dir: /app
|
|
command: sh -c "npm run dev"
|
|
ports:
|
|
- "7001:7001"
|
|
networks:
|
|
- app-network
|
|
|
|
# Cube 服务
|
|
cube:
|
|
image: cubejs/cube:latest
|
|
ports:
|
|
- 4000:4000
|
|
environment:
|
|
- CUBEJS_DEV_MODE=true
|
|
- CUBEJS_DB_TYPE=mysql
|
|
- CUBEJS_DB_HOST=host.docker.internal
|
|
- CUBEJS_DB_PORT=23306
|
|
- CUBEJS_DB_USER=cubejs
|
|
- CUBEJS_DB_PASS=12345678
|
|
- CUBEJS_DB_NAME=inventory_v2
|
|
- CUBEJS_DB_SSL=false
|
|
- CUBEJS_API_SECRET=your-secret-here
|
|
- CUBEJS_WEB_SOCKETS=true
|
|
# - CUBEJS_REFRESH_SCHEMA=true
|
|
volumes:
|
|
- ./cube/conf:/cube/conf
|
|
|
|
# networks:
|
|
# - app-network
|
|
# network_mode: host
|
|
|
|
# WEB 服务
|
|
web:
|
|
image: nginx:alpine
|
|
container_name: web-container
|
|
restart: on-failure
|
|
volumes:
|
|
- ../../WEB/dist:/usr/share/nginx/html
|
|
- ../../WEB/nginx.conf:/etc/nginx/conf.d/default.conf
|
|
ports:
|
|
- "8080:80"
|
|
depends_on:
|
|
- api
|
|
networks:
|
|
- app-network
|
|
|
|
# volumes:
|
|
# mysql-data:
|
|
# driver: local
|
|
|
|
networks:
|
|
app-network:
|
|
driver: bridge
|