This commit is contained in:
2025-11-01 15:36:47 +08:00
parent b2dc9708eb
commit 20e8d3b342
7 changed files with 897 additions and 4 deletions

202
README-SCRIPTS.md Normal file
View File

@@ -0,0 +1,202 @@
# 数字档案系统脚本使用说明
## 统一管理脚本
所有功能已合并到 `archive-manager.sh` 一个脚本中,提供完整的系统管理功能。
### 基本用法
```bash
# 显示帮助
./archive-manager.sh -h
# 构建镜像
./archive-manager.sh build
# 部署应用(默认目录)
./archive-manager.sh deploy
# 部署到指定目录
./archive-manager.sh deploy /opt/digital-archive
# 检查环境
./archive-manager.sh check
# 启动服务
./archive-manager.sh start
# 停止服务
./archive-manager.sh stop
# 重启服务
./archive-manager.sh restart
# 查看日志
./archive-manager.sh logs
./archive-manager.sh logs -f # 实时日志
# 查看状态
./archive-manager.sh status
# 更新服务
./archive-manager.sh update
# 清理资源
./archive-manager.sh clean
```
### 高级选项
```bash
# 详细输出
./archive-manager.sh -v build
# 强制执行(跳过确认)
./archive-manager.sh -f deploy
# 静默模式
./archive-manager.sh -q build
```
## 功能特性
### 1. 统一管理
- 一个脚本管理所有功能
- 自动检测Docker Compose版本
- 统一的日志和错误处理
- 彩色的输出显示
### 2. 环境检查
- 检查Docker环境
- 验证proxy网络
- 检查必需容器MySQL、Redis、Elasticsearch
- 测试网络连通性
### 3. 智能部署
- 自动创建部署目录结构
- 生成环境配置文件
- 创建管理脚本
- 设置正确的权限
### 4. 服务管理
- 启动/停止/重启服务
- 查看日志和状态
- 更新服务(拉取最新镜像)
- 清理Docker资源
### 5. 优化配置
- 使用容错DockerfileDockerfile.robust
- Maven国内镜像加速
- Alpine包管理器国内镜像
- 多镜像源容错机制
## 部署目录结构
```
/root/server/archive/
├── docker-compose.yml # 服务编排文件
├── .env # 环境变量配置
├── start.sh # 启动脚本
├── stop.sh # 停止脚本
├── update.sh # 更新脚本
├── data/ # 数据目录
│ ├── upload/
│ ├── temp/
│ ├── unzip/
│ ├── images/
│ ├── reports/
│ └── elasticsearch/
└── logs/ # 日志目录
```
## 环境要求
### 必需服务
- Docker和Docker Compose
- proxy网络`docker network create proxy`
- MySQL容器连接到proxy网络
- Redis容器连接到proxy网络
### 可选服务
- Elasticsearch容器连接到proxy网络
## 故障排除
### 构建失败
```bash
# 检查Docker环境
./archive-manager.sh -v check
# 重新构建
./archive-manager.sh clean
./archive-manager.sh build
```
### 服务启动失败
```bash
# 查看详细日志
./archive-manager.sh logs -f
# 检查服务状态
./archive-manager.sh status
# 重启服务
./archive-manager.sh restart
```
### 网络问题
```bash
# 检查网络配置
docker network ls
docker network inspect proxy
# 测试连通性
docker run --rm --network proxy alpine ping mysql
```
## 配置文件说明
### settings.xml
Maven配置文件包含
- 多个国内镜像源
- 仓库和插件仓库配置
- 代理设置(可选)
### Dockerfile.robust
优化的Dockerfile包含
- 多段构建
- Alpine国内镜像源
- 容错机制
- 安全配置
### docker-compose.simple.yml
简化的服务编排文件,包含:
- 应用服务配置
- Elasticsearch服务
- 网络配置
## 最佳实践
1. **首次部署**
```bash
./archive-manager.sh check
./archive-manager.sh build
./archive-manager.sh deploy
./archive-manager.sh start
```
2. **日常维护**
```bash
./archive-manager.sh status # 检查状态
./archive-manager.sh logs -f # 查看日志
./archive-manager.sh update # 更新服务
```
3. **问题排查**
```bash
./archive-manager.sh -v status # 详细状态信息
./archive-manager.sh clean # 清理资源
./archive-manager.sh rebuild # 重新构建
```
现在你只需要一个 `archive-manager.sh` 脚本就能完成所有管理任务!