# DMS合规性测试工具 - 离线部署指南 ## 概述 本指南介绍如何在没有网络连接的环境中部署DMS合规性测试工具。 ## 文件说明 ### 生成的文件 - `dms-compliance-complete-offline-YYYYMMDD-HHMMSS.tar.gz` - 完整离线部署包(约561MB) ### 打包脚本 - `create-offline-package.sh` - 创建完整离线部署包 - `docker-export.sh` - 仅创建Docker镜像包 - `install-docker.sh` - Docker安装脚本 ## 部署步骤 ### 1. 准备阶段(在有网络的环境中) ```bash # 创建完整离线部署包 ./create-offline-package.sh ``` 这将生成一个包含所有必要组件的tar.gz文件。 ### 2. 传输到目标环境 将生成的 `dms-compliance-complete-offline-*.tar.gz` 文件传输到目标服务器: ```bash # 使用scp传输(如果有网络连接) scp dms-compliance-complete-offline-*.tar.gz user@target-server:/path/to/destination/ # 或使用U盘、移动硬盘等物理介质传输 ``` ### 3. 在目标环境中部署 ```bash # 解压部署包 tar -xzf dms-compliance-complete-offline-*.tar.gz # 进入部署目录 cd dms-compliance-complete-offline-* # 运行一键安装脚本 ./install.sh ``` ### 4. 验证部署 安装完成后,访问以下地址验证服务: - **API服务器**: http://localhost:5050 - **历史查看器**: http://localhost:5051 ## 部署包内容 ### 核心组件 - DMS合规性测试工具Docker镜像 - Nginx Docker镜像(用于反向代理) - Docker和Docker Compose安装脚本 - 自动化部署脚本 ### 配置文件 - `docker-compose.yml` - Docker服务编排配置 - `nginx/nginx.conf` - Nginx配置(如果存在) - `config/` - 应用配置文件(如果存在) ### 脚本文件 - `install.sh` - 一键安装脚本 - `deploy.sh` - 部署脚本 - `stop.sh` - 停止服务脚本 - `uninstall.sh` - 卸载脚本 - `install-docker.sh` - Docker安装脚本 ### 数据目录 - `data/test_reports/` - 测试报告存储 - `data/uploads/` - 上传文件存储 - `data/logs/` - 应用日志存储 ## 系统要求 ### 最低要求 - **CPU**: 2核心 - **内存**: 2GB - **磁盘**: 5GB可用空间 - **操作系统**: - Ubuntu 18.04+ - CentOS 7+ - RHEL 7+ - Debian 9+ ### 推荐配置 - **CPU**: 4核心 - **内存**: 4GB - **磁盘**: 10GB可用空间 ## 安装选项 ### 方法一:一键安装(推荐) ```bash ./install.sh ``` - 自动检测Docker是否已安装 - 如未安装,提示安装Docker - 自动部署应用服务 ### 方法二:分步安装 ```bash # 1. 安装Docker(如果需要) ./install-docker.sh # 2. 重新登录或刷新用户组 newgrp docker # 3. 部署应用 ./deploy.sh ``` ## 服务管理 ### 基本操作 ```bash # 查看服务状态 docker-compose ps # 查看服务日志 docker-compose logs # 重启服务 docker-compose restart # 停止服务 ./stop.sh # 完全卸载 ./uninstall.sh ``` ### 高级操作 ```bash # 查看详细日志 docker-compose logs -f dms-compliance-tool # 进入容器 docker exec -it dms-compliance-tool bash # 查看容器资源使用 docker stats dms-compliance-tool ``` ## 网络配置 ### 端口说明 - **5050**: API服务器端口 - **5051**: 历史查看器端口 - **80/443**: Nginx反向代理端口(可选) ### 防火墙配置 ```bash # CentOS/RHEL sudo firewall-cmd --permanent --add-port=5050/tcp sudo firewall-cmd --permanent --add-port=5051/tcp sudo firewall-cmd --reload # Ubuntu/Debian sudo ufw allow 5050 sudo ufw allow 5051 ``` ### 使用Nginx反向代理 ```bash # 启动包含Nginx的完整服务 docker-compose --profile with-nginx up -d ``` ## 故障排除 ### 常见问题 1. **Docker未安装或未启动** ```bash # 检查Docker状态 sudo systemctl status docker # 启动Docker sudo systemctl start docker ``` 2. **端口冲突** - 修改 `docker-compose.yml` 中的端口映射 - 或停止占用端口的其他服务 3. **权限问题** ```bash sudo chown -R $USER:$USER data/ chmod -R 755 data/ ``` 4. **内存不足** - 确保系统有至少2GB可用内存 - 关闭不必要的服务 ### 日志查看 ```bash # 应用日志 docker-compose logs dms-compliance-tool # 系统日志 journalctl -u docker # 容器详细信息 docker inspect dms-compliance-tool ``` ### 性能优化 ```bash # 清理未使用的Docker资源 docker system prune -f # 查看磁盘使用情况 df -h # 查看内存使用情况 free -h ``` ## 数据备份与恢复 ### 备份数据 ```bash # 备份所有数据 tar -czf dms-backup-$(date +%Y%m%d).tar.gz data/ # 仅备份测试报告 tar -czf reports-backup-$(date +%Y%m%d).tar.gz data/test_reports/ ``` ### 恢复数据 ```bash # 停止服务 ./stop.sh # 恢复数据 tar -xzf dms-backup-YYYYMMDD.tar.gz # 重启服务 ./deploy.sh ``` ## 更新升级 1. 停止当前服务:`./stop.sh` 2. 备份数据:`cp -r data/ data_backup/` 3. 部署新版本 4. 恢复数据(如需要) ## 安全建议 1. **定期备份** `data/` 目录 2. **限制网络访问**(仅内网使用) 3. **定期更新**Docker和系统 4. **监控资源**使用情况 5. **设置防火墙**规则 ## 技术支持 如遇到问题,请提供以下信息: 1. **系统信息**: `cat /etc/os-release` 2. **Docker版本**: `docker --version` 3. **错误日志**: `docker-compose logs` 4. **系统资源**: `free -h && df -h` 5. **网络状态**: `netstat -tlnp | grep -E ':(5050|5051)'` ## 附录 ### 目录结构 ``` dms-compliance-complete-offline-YYYYMMDD-HHMMSS/ ├── README.md # 详细说明文档 ├── VERSION # 版本信息 ├── install.sh # 一键安装脚本 ├── deploy.sh # 部署脚本 ├── stop.sh # 停止脚本 ├── uninstall.sh # 卸载脚本 ├── install-docker.sh # Docker安装脚本 ├── docker-compose.yml # Docker编排配置 ├── dms-compliance-tool.tar # 主应用镜像 ├── nginx-alpine.tar # Nginx镜像 ├── data/ # 数据目录 │ ├── test_reports/ # 测试报告 │ ├── uploads/ # 上传文件 │ └── logs/ # 日志文件 ├── config/ # 配置文件(可选) └── nginx/ # Nginx配置(可选) ``` ### 环境变量 可以通过修改 `docker-compose.yml` 中的环境变量来自定义配置: - `FLASK_ENV`: Flask运行环境(production/development) - `PYTHONUNBUFFERED`: Python输出缓冲设置 - `TZ`: 时区设置(默认:Asia/Shanghai)