chore: 新增第二套独立部署编排
This commit is contained in:
@@ -1094,3 +1094,12 @@ CellData 处理日志细化(`app/services/cell_data.py`):
|
||||
- 前端 `npm ci && npm run build`(npm registry)。
|
||||
- 镜像 `pip install -r requirements.txt`(PyPI)+ 基础镜像 `python:3.13.11-slim`(Docker registry;Dockerfile 已注明内网无 dockerhub 时需本地预先存在该镜像)。
|
||||
- 离线重建可选做法:内网 PyPI/npm 镜像源,或预下载 wheels + `pip install --no-index --find-links`、`npm ci --offline`。
|
||||
|
||||
## 2026-08-05:部署第二套独立 CapacityReport 实例
|
||||
|
||||
- 新增 `packaging/docker-compose.capacityrepost.yml`,只编排 Web 与 MySQL:容器名固定为 `capacityrepost-web`、`capacityrepost-mysql`。
|
||||
- Web 发布宿主机 `19082` 到容器 `9081`;MySQL 只 `expose 3306`,不发布宿主机端口,数据导入导出统一走 Web。
|
||||
- 两个容器仅加入显式桥接网络 `capacityrepost-network`;运行数据使用独立命名卷 `capacityrepost-web-data`、`capacityrepost-mysql-data`,不复用旧实例资源。
|
||||
- Web 首次启动通过 `DB_HOST=capacityrepost-mysql` 写入新数据卷内的 `Configure.json`;MySQL 初始化独立的 `CapacityReport`、`celldata` 数据库。
|
||||
- 当前代码镜像使用不可变标签 `capacityrepost-web:a66ce4c`,服务器部署目录为 `/opt/capacityrepost`。健康检查 `GET /health` 已验证应用与 MySQL 均正常,首页可访问。
|
||||
- 同机旧实例 `capacity-report-app`(19081)与 `capacity-mysql`(13306)是受保护资源;部署第二实例时禁止对旧容器执行停止、重建、改名、改网络、改卷或 compose down。
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
services:
|
||||
web:
|
||||
image: capacityrepost-web:a66ce4c
|
||||
container_name: capacityrepost-web
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "19082:9081"
|
||||
volumes:
|
||||
- capacityrepost-web-data:/data
|
||||
environment:
|
||||
TZ: Asia/Shanghai
|
||||
PYTHONUNBUFFERED: "1"
|
||||
DB_HOST: capacityrepost-mysql
|
||||
DB_PORT: "3306"
|
||||
DB_USER: root
|
||||
DB_PASSWD: gmcc123
|
||||
MAIN_DB_NAME: CapacityReport
|
||||
CELLDATA_DB_NAME: celldata
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- capacityrepost-network
|
||||
|
||||
mysql:
|
||||
image: capacity-mysql:8.0.44
|
||||
container_name: capacityrepost-mysql
|
||||
restart: unless-stopped
|
||||
expose:
|
||||
- "3306"
|
||||
volumes:
|
||||
- capacityrepost-mysql-data:/var/lib/mysql
|
||||
- ./mysql/conf.d:/etc/mysql/conf.d:ro
|
||||
- ./mysql/init:/docker-entrypoint-initdb.d:ro
|
||||
environment:
|
||||
TZ: Asia/Shanghai
|
||||
MYSQL_ROOT_PASSWORD: gmcc123
|
||||
MYSQL_DATABASE: CapacityReport
|
||||
command:
|
||||
- --character-set-server=utf8mb4
|
||||
- --collation-server=utf8mb4_unicode_ci
|
||||
- --local-infile=ON
|
||||
- --secure-file-priv=
|
||||
- --max_allowed_packet=256M
|
||||
- --innodb_buffer_pool_size=512M
|
||||
- --innodb_log_file_size=128M
|
||||
- --innodb_flush_log_at_trx_commit=2
|
||||
- --sync_binlog=0
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-pgmcc123"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
start_period: 30s
|
||||
networks:
|
||||
- capacityrepost-network
|
||||
|
||||
networks:
|
||||
capacityrepost-network:
|
||||
name: capacityrepost-network
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
capacityrepost-web-data:
|
||||
name: capacityrepost-web-data
|
||||
capacityrepost-mysql-data:
|
||||
name: capacityrepost-mysql-data
|
||||
Reference in New Issue
Block a user