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

6.5 KiB
Raw Blame History

DMS合规性测试工具 - 离线部署指南

概述

本指南介绍如何在没有网络连接的环境中部署DMS合规性测试工具。

文件说明

生成的文件

  • dms-compliance-complete-offline-YYYYMMDD-HHMMSS.tar.gz - 完整离线部署包约561MB

打包脚本

  • create-offline-package.sh - 创建完整离线部署包
  • docker-export.sh - 仅创建Docker镜像包
  • install-docker.sh - Docker安装脚本

部署步骤

1. 准备阶段(在有网络的环境中)

# 创建完整离线部署包
./create-offline-package.sh

这将生成一个包含所有必要组件的tar.gz文件。

2. 传输到目标环境

将生成的 dms-compliance-complete-offline-*.tar.gz 文件传输到目标服务器:

# 使用scp传输如果有网络连接
scp dms-compliance-complete-offline-*.tar.gz user@target-server:/path/to/destination/

# 或使用U盘、移动硬盘等物理介质传输

3. 在目标环境中部署

# 解压部署包
tar -xzf dms-compliance-complete-offline-*.tar.gz

# 进入部署目录
cd dms-compliance-complete-offline-*

# 运行一键安装脚本
./install.sh

4. 验证部署

安装完成后,访问以下地址验证服务:

部署包内容

核心组件

  • 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可用空间

安装选项

方法一:一键安装(推荐)

./install.sh
  • 自动检测Docker是否已安装
  • 如未安装提示安装Docker
  • 自动部署应用服务

方法二:分步安装

# 1. 安装Docker如果需要
./install-docker.sh

# 2. 重新登录或刷新用户组
newgrp docker

# 3. 部署应用
./deploy.sh

服务管理

基本操作

# 查看服务状态
docker-compose ps

# 查看服务日志
docker-compose logs

# 重启服务
docker-compose restart

# 停止服务
./stop.sh

# 完全卸载
./uninstall.sh

高级操作

# 查看详细日志
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反向代理端口可选

防火墙配置

# 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反向代理

# 启动包含Nginx的完整服务
docker-compose --profile with-nginx up -d

故障排除

常见问题

  1. Docker未安装或未启动

    # 检查Docker状态
    sudo systemctl status docker
    
    # 启动Docker
    sudo systemctl start docker
    
  2. 端口冲突

    • 修改 docker-compose.yml 中的端口映射
    • 或停止占用端口的其他服务
  3. 权限问题

    sudo chown -R $USER:$USER data/
    chmod -R 755 data/
    
  4. 内存不足

    • 确保系统有至少2GB可用内存
    • 关闭不必要的服务

日志查看

# 应用日志
docker-compose logs dms-compliance-tool

# 系统日志
journalctl -u docker

# 容器详细信息
docker inspect dms-compliance-tool

性能优化

# 清理未使用的Docker资源
docker system prune -f

# 查看磁盘使用情况
df -h

# 查看内存使用情况
free -h

数据备份与恢复

备份数据

# 备份所有数据
tar -czf dms-backup-$(date +%Y%m%d).tar.gz data/

# 仅备份测试报告
tar -czf reports-backup-$(date +%Y%m%d).tar.gz data/test_reports/

恢复数据

# 停止服务
./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