202 lines
4.0 KiB
Markdown
202 lines
4.0 KiB
Markdown
# 数字档案系统脚本使用说明
|
||
|
||
## 统一管理脚本
|
||
|
||
所有功能已合并到 `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. 优化配置
|
||
- 使用容错Dockerfile(Dockerfile.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` 脚本就能完成所有管理任务! |