7.1 KiB
7.1 KiB
宏量点云处理软件 - 内网Docker部署指南
本文档详细说明如何在内网服务器上使用Docker部署宏量点云处理软件。
系统要求
硬件要求
| 配置项 | 最低要求 | 推荐配置 |
|---|---|---|
| CPU | 4核 | 8核+ |
| 内存 | 8GB | 16GB+ |
| 存储 | 100GB SSD | 500GB+ SSD |
| 网络 | 100Mbps | 1Gbps |
软件要求
- 操作系统: Linux (Ubuntu 20.04+, CentOS 7+, Debian 10+)
- Docker: 20.10+
- Docker Compose: 2.0+
快速开始
1. 安装Docker和Docker Compose
# Ubuntu/Debian
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# 安装Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# 重新登录以应用用户组更改
2. 获取项目代码
# 从GitHub克隆 (如果已导出到GitHub)
git clone https://github.com/your-org/massive-point-cloud.git
cd massive-point-cloud
# 或者直接上传项目文件到服务器
3. 配置环境变量
# 创建环境变量文件
cat > .env << 'EOF'
# 安全配置 - 请修改为随机值
JWT_SECRET=$(openssl rand -base64 32)
MYSQL_ROOT_PASSWORD=$(openssl rand -base64 16)
# MinIO配置
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=$(openssl rand -base64 16)
# 应用配置
VITE_APP_TITLE=宏量点云处理系统
EOF
# 或者手动编辑
nano .env
4. 启动服务
# 基础部署 (应用 + MySQL + MinIO)
docker-compose up -d
# 查看服务状态
docker-compose ps
# 查看日志
docker-compose logs -f
5. 访问应用
- Web应用: http://your-server-ip:3000
- MinIO控制台: http://your-server-ip:9001
部署架构
┌─────────────────────────────────────────────────────────────┐
│ 内网服务器 │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Docker Network │ │
│ │ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │ │
│ │ │ App │ │ MySQL │ │ MinIO │ │ │
│ │ │ :3000 │ │ :3306 │ │ :9000 / :9001 │ │ │
│ │ └────┬─────┘ └────┬─────┘ └────────┬─────────┘ │ │
│ │ │ │ │ │ │
│ │ └─────────────┴──────────────────┘ │ │
│ │ │ │ │
│ └──────────────────────┼──────────────────────────────┘ │
│ │ │
│ ┌──────────────────────┴──────────────────────────────┐ │
│ │ Nginx (可选, 生产环境) │ │
│ │ :80 / :443 │ │
│ └──────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
服务说明
| 服务 | 端口 | 说明 |
|---|---|---|
| app | 3000 | 主应用服务 |
| mysql | 3306 | MySQL数据库 |
| minio | 9000 | MinIO API |
| minio | 9001 | MinIO控制台 |
| nginx | 80/443 | 反向代理 (可选) |
| redis | 6379 | 缓存服务 (可选) |
高级配置
启用Nginx反向代理
# 使用production profile启动
docker-compose --profile production up -d
启用Redis缓存
# 使用with-cache profile启动
docker-compose --profile with-cache up -d
配置HTTPS
-
将SSL证书放置到
docker/nginx/ssl/目录:cert.pem- 证书文件key.pem- 私钥文件
-
编辑
docker/nginx/nginx.conf,取消HTTPS服务器配置的注释 -
重启Nginx:
docker-compose restart nginx
数据持久化
所有数据存储在Docker卷中:
| 卷名 | 用途 |
|---|---|
| pointcloud-mysql-data | MySQL数据 |
| pointcloud-minio-data | 点云文件存储 |
| pointcloud-redis-data | Redis缓存 |
| pointcloud-app-logs | 应用日志 |
备份数据:
# 备份MySQL
docker exec massive-point-cloud-mysql mysqldump -u root -p pointcloud_db > backup.sql
# 备份MinIO数据
docker run --rm -v pointcloud-minio-data:/data -v $(pwd):/backup alpine tar cvf /backup/minio-backup.tar /data
运维命令
# 查看所有服务状态
docker-compose ps
# 查看实时日志
docker-compose logs -f app
# 重启单个服务
docker-compose restart app
# 停止所有服务
docker-compose down
# 停止并删除数据卷 (危险!)
docker-compose down -v
# 更新应用
git pull
docker-compose build app
docker-compose up -d app
# 进入容器调试
docker exec -it massive-point-cloud-app sh
docker exec -it massive-point-cloud-mysql mysql -u root -p
故障排查
应用无法启动
# 检查日志
docker-compose logs app
# 检查数据库连接
docker exec massive-point-cloud-app curl -f http://mysql:3306 || echo "MySQL not ready"
数据库连接失败
# 检查MySQL状态
docker-compose logs mysql
# 手动测试连接
docker exec -it massive-point-cloud-mysql mysql -u pointcloud -p -e "SELECT 1"
MinIO无法访问
# 检查MinIO状态
docker-compose logs minio
# 检查存储桶
docker exec massive-point-cloud-minio-init mc ls myminio/
性能优化
MySQL优化
编辑 docker/mysql/my.cnf:
[mysqld]
innodb_buffer_pool_size = 2G
innodb_log_file_size = 512M
max_connections = 200
增加文件上传限制
修改 docker/nginx/nginx.conf:
client_max_body_size 5G;
安全建议
- 修改默认密码: 务必修改
.env中的所有默认密码 - 限制端口暴露: 生产环境只暴露80/443端口
- 启用防火墙: 配置iptables或firewalld
- 定期备份: 设置自动备份任务
- 更新镜像: 定期更新Docker镜像修复安全漏洞
联系支持
如遇到部署问题,请检查:
- Docker和Docker Compose版本是否满足要求
- 服务器资源是否充足
- 端口是否被占用
- 防火墙规则是否正确