Files
massive-cloud/DEPLOYMENT.md

7.1 KiB
Raw Permalink Blame History

宏量点云处理软件 - 内网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. 访问应用

部署架构

┌─────────────────────────────────────────────────────────────┐
│                        内网服务器                            │
│  ┌─────────────────────────────────────────────────────┐   │
│  │                   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

  1. 将SSL证书放置到 docker/nginx/ssl/ 目录:

    • cert.pem - 证书文件
    • key.pem - 私钥文件
  2. 编辑 docker/nginx/nginx.conf,取消HTTPS服务器配置的注释

  3. 重启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;

安全建议

  1. 修改默认密码: 务必修改 .env 中的所有默认密码
  2. 限制端口暴露: 生产环境只暴露80/443端口
  3. 启用防火墙: 配置iptables或firewalld
  4. 定期备份: 设置自动备份任务
  5. 更新镜像: 定期更新Docker镜像修复安全漏洞

联系支持

如遇到部署问题,请检查:

  1. Docker和Docker Compose版本是否满足要求
  2. 服务器资源是否充足
  3. 端口是否被占用
  4. 防火墙规则是否正确