Docker 一键编排(应用 + MySQL + sftpgo)
docker-compose.yml 编排三个服务,开箱即用、互相连通:
| 服务 | 容器 | 端口(宿主:容器) | 说明 |
|---|---|---|---|
| capacity-app | capacity-report-app | 9081:9081 | 应用(前端+后端) |
| capacity-mysql | capacity-mysql | 13306:3306 | MySQL 8(建 CapacityReport 与 celldata 两库) |
| sftpgo | capacity-sftpgo | 2022:2022(SFTP)、18080:8080(Web) | 文件服务,供应用拉取数据 |
构建并启动
# 1) 先构建前端(产出 frontend/dist,镜像会拷贝它)
cd ../frontend && npm ci && npm run build && cd ../packaging
# 2) 构建并启动
docker compose build
docker compose up -d
默认账号 / 连接(首次启动自动写入应用配置)
- MySQL:
root / gmcc123,库CapacityReport、celldata(应用内主机用服务名capacity-mysql)。 - sftpgo:SFTP 用户
capacity / capacity123(home/srv/sftpgo/data/capacity);Web 管理员admin / gmcc123(http://localhost:18080)。 - 应用首次启动时,
entrypoint会按 compose 里的环境变量把Configure.json的「数据库/SFTP 连接」改写为容器服务(主机用服务名capacity-mysql/sftpgo)。之后你在界面里的修改不会被覆盖。
放数据
通过 SFTP(localhost:2022,capacity/capacity123)或 Web(18080)把数据上传到 capacity 用户目录:
- 容量数据:上传到
/CapacityReportData(对应RemoteData.remote_dir,结构4G/ 5G/ RJ/)。 - CellData:上传到
/网优日常优化数据文档/...(对应CellData.scan_paths)。
用
test/make_test_data.py生成的小样本可直接传上来做测试。
数据卷(持久化)
capacity-data:应用/data(配置、脚本、特征库、历史、缓存)。capacity-mysql-data:MySQL 数据。sftpgo-config/sftpgo-data:sftpgo 状态与文件。
修改密码等
改 docker-compose.yml 里的环境变量与 sftpgo/sftpgo-init.json,重新 up -d 即可(首次播种后应用侧连接不再自动改写,需要的话删除 capacity-data 卷重置)。