4.7 KiB
Executable File
4.7 KiB
Executable File
宏量点云处理系统 — 离线部署说明
一、包内容
massive-cloud-deploy-YYYYMMDD.tar.gz
├── images/
│ ├── app-dev.tar # 应用镜像 (含 CUDA / cadquery / PyTorch3D) ~10GB
│ ├── mysql.tar # MySQL 8.0 ~786MB
│ ├── minio.tar # MinIO 对象存储 ~180MB
│ └── minio-mc.tar # MinIO Client (初始化桶) ~85MB
├── src/ # 应用源码(容器启动时挂载并 pnpm install)
├── docker/
│ └── mysql/init.sql # 数据库首次初始化 SQL
├── docker-compose.yml # 主编排文件
├── docker-compose.gpu.yml # GPU overlay(旧版 docker-compose)
├── docker-compose.gpu.compose-v2.yml # GPU overlay(Compose V2)
├── .env.example # 环境变量模板
├── load-images.sh # 一键载入所有镜像
└── 部署说明.md # 本文件
二、目标服务器要求
| 项目 | 要求 |
|---|---|
| 操作系统 | Linux(推荐 Ubuntu 20.04/22.04 或 CentOS 7+) |
| Docker | ≥ 19.03(推荐 24+) |
| docker-compose | ≥ 1.29 或 Compose V2 插件 |
| 磁盘 | 至少 40GB(镜像约 12GB + 数据目录预留) |
| 内存 | ≥ 8GB(推荐 16GB+,点云分析内存消耗大) |
| GPU(可选) | NVIDIA 显卡 + 已安装 nvidia-container-toolkit(用于 GPU 加速分析) |
| 网络 | 内网即可,无需互联网访问 |
三、部署步骤
1. 传输包
# 从源服务器发送(约 xx GB,视压缩率而定)
scp massive-cloud-deploy-YYYYMMDD.tar.gz user@目标IP:/opt/
# 登录目标服务器,解压
ssh user@目标IP
cd /opt
tar -xzf massive-cloud-deploy-YYYYMMDD.tar.gz
cd massive-cloud-deploy-YYYYMMDD
2. 载入镜像
bash load-images.sh
10GB 以上镜像载入需要数分钟,请耐心等待。
3. 配置环境变量
cp .env.example .env
vi .env # 必须修改 JWT_SECRET;生产环境建议同时修改 MYSQL_ROOT_PASSWORD 等
至少修改以下项:
JWT_SECRET→ 随机长字符串(如openssl rand -hex 32)DATA_DIR→ 存放 CAD 与点云的本地目录(如/data/massive)
4. 准备数据目录
# 假设 DATA_DIR=/data/massive
mkdir -p /data/massive
# 如需迁移现有数据,将 CAD/点云文件拷贝至此目录
5. 启动服务
无 GPU:
docker-compose up -d
有 NVIDIA GPU(旧版 docker-compose):
# 先确认宿主机已安装 nvidia-container-toolkit:
nvidia-smi # 能显示显卡则正常
docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu20.04 nvidia-smi
# 启动
docker-compose -f docker-compose.yml -f docker-compose.gpu.yml up -d
有 NVIDIA GPU(Compose V2 / docker compose):
docker compose -f docker-compose.yml -f docker-compose.gpu.compose-v2.yml up -d
6. 验证
# 查看服务状态(mysql 需 healthy)
docker-compose ps
# 查看应用日志(首次启动 pnpm install 需 1~2 分钟)
docker-compose logs -f app
# 访问系统(浏览器)
http://目标IP:3002
四、端口说明
| 服务 | 宿主机端口 | 说明 |
|---|---|---|
| 应用 | 3002 | Web 界面入口 |
| MySQL | 3307 | 数据库(内部通信,无需对外开放) |
| MinIO API | 9010 | 对象存储 API |
| MinIO 控制台 | 9011 | MinIO Web 管理界面(可选开放) |
使用
network_mode: host,端口直接占用宿主机,请确认无冲突。
五、常见问题
Q: 应用启动很慢?
A: 首次 pnpm install 安装依赖需 1~5 分钟,属正常现象。之后使用命名卷缓存,重启速度正常。
Q: 日志出现 Waiting for database… 循环?
A: MySQL 初次启动初始化需时,应用会自动等待(最多 40 秒重试),正常结束后会打印 [Migration] Database ready.。
Q: GPU 不可用?
A: 确认 nvidia-container-toolkit 已安装,或检查 docker info | grep -i nvidia;未映射 GPU 时系统自动回退 CPU,功能不受影响,仅部分分析耗时更长。
Q: 端口 3307/3002 被占用?
A: 修改 docker-compose.yml 中对应 MySQL MYSQL_TCP_PORT 与 app PORT 环境变量,并同步修改 DATABASE_URL。
六、数据备份建议
# 备份 MySQL(在源/目标服务器均可)
docker exec massive-point-cloud-mysql \
mysqldump -u root -p${MYSQL_ROOT_PASSWORD} pointcloud_db > backup_$(date +%Y%m%d).sql
# 备份 DATA_DIR(CAD + 点云 + 分析产物)
tar -czf data_backup_$(date +%Y%m%d).tar.gz ${DATA_DIR}
生成时间:2026-04。若系统版本升级,请重新导出镜像并更新本包。