test
This commit is contained in:
202
README-SCRIPTS.md
Normal file
202
README-SCRIPTS.md
Normal 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. 优化配置
|
||||
- 使用容错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` 脚本就能完成所有管理任务!
|
||||
Reference in New Issue
Block a user