compliance/DEPLOYMENT_GUIDE.md
gongwenxin 9bd3cb63f3 docker
2025-08-13 09:52:59 +08:00

308 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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