9.5 KiB
9.5 KiB
QAUP 系统 Docker 部署
重要说明
工作目录: 请确保在 deploy 目录下执行所有部署命令。
cd QAUP-Management/deploy # 进入部署目录
./test-paths.sh # 验证路径配置(推荐)
快速开始
数据准备(首次部署必需)
# 全新部署(使用默认数据)
./docker/postgres/db-manager.sh prepare-default
# 或从现有系统迁移
./docker/postgres/db-manager.sh prepare-export
一键部署
# 完整部署
./deploy.sh install
# 查看系统状态
./docker/ops-manager.sh overview
基本操作
# 启动服务
./deploy.sh start
# 停止服务
./deploy.sh stop
# 重启服务
./deploy.sh restart
# 查看状态
./deploy.sh status
系统架构
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Nginx 容器 │ │ 应用容器 │ │ PostgreSQL │
│ (反向代理) │───▶│ (Spring Boot) │───▶│ (数据库) │
│ 端口: 80/443 │ │ 端口: 8080 │ │ 端口: 5432 │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐
│ Redis 容器 │
│ (缓存) │
│ 端口: 6379 │
└─────────────────┘
目录结构
QAUP-Management/
├── docker/ # Docker 配置和脚本
│ ├── nginx/ # Nginx 配置
│ ├── postgres/ # PostgreSQL 配置
│ ├── *.sh # 管理脚本
│ └── *.yml # 配置文件
├── config/ # 应用配置
├── data/ # 数据目录
│ ├── postgres/ # 数据库数据
│ ├── redis/ # Redis 数据
│ └── uploads/ # 上传文件
├── logs/ # 日志目录
├── backup/ # 备份目录
├── ssl/ # SSL 证书
├── docker-compose*.yml # Docker Compose 配置
├── .env # 环境变量
└── deploy.sh # 主部署脚本
管理脚本
主要脚本
| 脚本 | 功能 | 示例 |
|---|---|---|
deploy.sh |
主部署脚本 | ./deploy.sh install |
docker/ops-manager.sh |
运维管理 | ./docker/ops-manager.sh overview |
docker/monitor.sh |
系统监控 | ./docker/monitor.sh watch |
docker/backup-restore.sh |
备份恢复 | ./docker/backup-restore.sh full |
docker/log-manager.sh |
日志管理 | ./docker/log-manager.sh view app |
配置脚本
| 脚本 | 功能 | 示例 |
|---|---|---|
docker/config-manager.sh |
配置管理 | ./docker/config-manager.sh init |
docker/security-setup.sh |
安全配置 | ./docker/security-setup.sh all |
docker/performance-tuning.sh |
性能优化 | ./docker/performance-tuning.sh all |
docker/validate-environment.sh |
环境验证 | ./docker/validate-environment.sh |
测试脚本
| 脚本 | 功能 | 示例 |
|---|---|---|
docker/integration-test.sh |
集成测试 | ./docker/integration-test.sh full |
docker/alert-manager.sh |
告警管理 | ./docker/alert-manager.sh check |
常用操作
系统管理
# 查看系统概览
./docker/ops-manager.sh overview
# 快速诊断
./docker/ops-manager.sh diagnosis
# 健康检查
./docker/ops-manager.sh health-check
# 性能分析
./docker/ops-manager.sh performance
# 安全检查
./docker/ops-manager.sh security
# 系统清理
./docker/ops-manager.sh cleanup
服务管理
# 重启特定服务
./docker/ops-manager.sh service restart app
# 查看服务状态
./docker/ops-manager.sh service status
# 启动所有服务
./docker/ops-manager.sh service start all
日志管理
# 查看所有日志
./docker/ops-manager.sh logs all
# 查看应用日志
./docker/ops-manager.sh logs app 100
# 实时监控日志
./docker/log-manager.sh monitor app
# 分析错误日志
./docker/log-manager.sh analyze
备份管理
# 查看备份状态
./docker/ops-manager.sh backup status
# 创建完整备份
./docker/ops-manager.sh backup create
# 列出所有备份
./docker/ops-manager.sh backup list
# 清理旧备份
./docker/ops-manager.sh backup cleanup
监控和告警
# 实时监控
./docker/monitor.sh watch
# 检查告警
./docker/alert-manager.sh check
# 持续监控
./docker/alert-manager.sh monitor 300
# 查看告警历史
./docker/alert-manager.sh history
配置管理
环境配置
主要配置文件:.env
# 数据库配置
POSTGRES_PASSWORD=强密码
APP_DB_PASSWORD=强密码
# 服务器配置
SERVER_NAME=your-domain.com
NGINX_PORT=80
# 其他配置...
配置操作
# 初始化配置
./docker/config-manager.sh init
# 验证配置
./docker/config-manager.sh validate
# 备份配置
./docker/config-manager.sh backup
# 生成配置
./docker/config-manager.sh generate prod
性能优化
自动优化
# 应用所有优化
./docker/performance-tuning.sh all
# 仅优化 JVM
./docker/performance-tuning.sh jvm
# 仅优化数据库
./docker/performance-tuning.sh database
手动优化
- JVM 参数调优:编辑
.env中的JVM_OPTS - 数据库优化:修改
docker/postgres/postgresql.conf - Nginx 优化:调整
docker/nginx/nginx.conf
安全配置
安全设置
# 应用所有安全配置
./docker/security-setup.sh all
# 配置 SSL/TLS
./docker/security-setup.sh ssl
# 配置防火墙
sudo ./docker/security-setup.sh firewall
# 配置文件权限
./docker/security-setup.sh permissions
安全检查
# 安全检查
./docker/ops-manager.sh security
# 密码强度检查
./docker/secrets-manager.sh check
# 生成强密码
./docker/secrets-manager.sh generate
故障排除
常见问题
-
容器无法启动
# 查看容器日志 docker logs qaup-app # 检查资源使用 docker stats # 重启服务 ./deploy.sh restart -
服务无响应
# 健康检查 ./docker/ops-manager.sh health-check # 查看系统状态 ./docker/ops-manager.sh diagnosis # 检查网络连接 curl -I http://localhost/health -
性能问题
# 性能分析 ./docker/ops-manager.sh performance # 应用性能优化 ./docker/performance-tuning.sh all # 监控资源使用 ./docker/monitor.sh resources
诊断工具
# 快速诊断
./docker/ops-manager.sh diagnosis
# 完整集成测试
./docker/integration-test.sh full
# 环境验证
./docker/validate-environment.sh
# 生成运维报告
./docker/ops-manager.sh report
更新和维护
系统更新
# 零停机更新
./docker/zero-downtime-update.sh full
# 滚动更新
./docker/zero-downtime-update.sh rolling
# 蓝绿部署
./docker/zero-downtime-update.sh blue-green
定期维护
# 每日维护
./docker/ops-manager.sh diagnosis
./docker/ops-manager.sh backup create
# 每周维护
./docker/ops-manager.sh cleanup
./docker/log-manager.sh cleanup 30
# 每月维护
./docker/ops-manager.sh security
./docker/performance-tuning.sh all
离线部署
准备离线包
在有网络的环境中:
# 准备镜像
./docker/prepare-offline-images.sh
# 创建部署包
# (参考 docs/离线部署指南.md)
离线安装
在内网环境中:
# 解压部署包
tar -xzf qaup-offline-deploy-*.tar.gz
# 导入镜像
./docker/load-images.sh
# 安装系统
./install.sh
./deploy.sh install
监控和告警
监控设置
# 启动持续监控
./docker/monitor.sh watch 60 &
# 启动告警监控
./docker/alert-manager.sh monitor 300 &
# 配置日志轮转
./docker/log-manager.sh setup
告警配置
编辑 docker/healthcheck.yml 配置告警规则和阈值。
支持和文档
详细文档
获取帮助
# 查看脚本帮助
./deploy.sh help
./docker/ops-manager.sh help
./docker/monitor.sh help
# 查看系统状态
./docker/ops-manager.sh overview
# 运行诊断
./docker/ops-manager.sh diagnosis
联系支持
如遇问题,请提供:
- 系统信息:
./docker/ops-manager.sh report - 错误日志:
./docker/log-manager.sh analyze - 容器状态:
docker ps -a - 配置信息:
.env文件(隐藏敏感信息)
注意:本文档持续更新,请定期查看最新版本。