162 lines
4.0 KiB
Markdown
162 lines
4.0 KiB
Markdown
# Docker管理系统
|
||
|
||
## 🎯 概述
|
||
管理三台服务器(ubuntu1, ubuntu2, NAS)上的Docker Compose应用。
|
||
|
||
## 📁 文件列表
|
||
```
|
||
docker-management/
|
||
├── README.md # 本文件
|
||
├── docker-apps.yaml # 应用映射配置
|
||
├── docker-config-editor.sh # 配置编辑工具
|
||
├── DOCKER_CONFIG_EDITOR_GUIDE.md # 配置编辑指南
|
||
└── docker-command-processor.md # 自然语言指令处理器
|
||
```
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 1. 查看应用配置
|
||
```bash
|
||
cd ~/.openclaw/workspace/managed-systems/docker-management/
|
||
./docker-config-editor.sh ubuntu1 portainer show
|
||
```
|
||
|
||
### 2. 创建配置备份
|
||
```bash
|
||
./docker-config-editor.sh ubuntu1 portainer backup
|
||
```
|
||
|
||
### 3. 验证配置格式
|
||
```bash
|
||
./docker-config-editor.sh ubuntu1 portainer validate
|
||
```
|
||
|
||
### 4. 重启应用
|
||
```bash
|
||
./docker-config-editor.sh ubuntu1 portainer restart
|
||
```
|
||
|
||
## 📋 应用列表
|
||
|
||
### ubuntu1 (10个应用)
|
||
- portainer - Docker容器管理界面
|
||
- rsshub - RSS生成器
|
||
- it-tools - 开发者工具集合
|
||
- superset - 数据可视化平台
|
||
- smart-trip-quote - 智能旅行报价系统
|
||
- transmission - BT下载客户端
|
||
- homarr - 家庭仪表板
|
||
- tiktok_pm - TikTok项目管理工具
|
||
- n8n - 工作流自动化平台
|
||
- ecommerce-crawler - 电商数据爬虫
|
||
|
||
### ubuntu2 (3个应用)
|
||
- cloudflared - Cloudflare隧道客户端
|
||
- uptime-kuma - 网站监控工具
|
||
- watchtower - 自动更新Docker容器
|
||
|
||
### NAS (3个应用)
|
||
- navidrome - 音乐流媒体服务器
|
||
- portainer - Docker容器管理界面
|
||
- mysql80 - MySQL 8.0数据库
|
||
|
||
## 🔄 工作流程
|
||
|
||
### 自然语言指令
|
||
你可以用自然语言告诉我想要做什么,例如:
|
||
- "查看ubuntu1上portainer的配置"
|
||
- "备份ubuntu2上cloudflared的配置"
|
||
- "重启NAS上的navidrome"
|
||
- "验证ubuntu1上rsshub的配置格式"
|
||
|
||
### 安全编辑流程
|
||
1. **查看当前配置** - 了解当前设置
|
||
2. **创建备份** - 自动创建时间戳备份
|
||
3. **编辑文件** - 下载、编辑、上传
|
||
4. **验证格式** - 检查YAML语法
|
||
5. **重启应用** - 应用更改并验证
|
||
|
||
## ⚙️ 配置详情
|
||
|
||
### 服务器路径
|
||
- **ubuntu1**: `/home/shenwei/Docker/` (大写D)
|
||
- **ubuntu2**: `/home/shenwei/docker/` (小写d)
|
||
- **NAS**: `/volume1/docker/`
|
||
|
||
### 备份策略
|
||
- 每次修改前自动备份
|
||
- 保留最近5个备份文件
|
||
- 备份文件名:`docker-compose.yml.backup.YYYYMMDDHHMMSS`
|
||
|
||
## 🔒 安全特性
|
||
|
||
### 1. 自动备份
|
||
- 修改前创建备份
|
||
- 保留历史版本
|
||
- 支持回滚
|
||
|
||
### 2. 格式验证
|
||
- 使用 `docker compose config` 验证
|
||
- 语法错误自动检测
|
||
- 验证失败自动回滚
|
||
|
||
### 3. 差异对比
|
||
- 修改前后显示差异
|
||
- 确认修改内容
|
||
- 避免意外更改
|
||
|
||
## 🛠️ 工具说明
|
||
|
||
### docker-config-editor.sh
|
||
**功能**:
|
||
- `show` - 显示当前配置
|
||
- `backup` - 创建备份
|
||
- `validate` - 验证配置格式
|
||
- `restart` - 重启应用
|
||
|
||
**用法**:
|
||
```bash
|
||
./docker-config-editor.sh <服务器> <应用> <操作>
|
||
```
|
||
|
||
### docker-apps.yaml
|
||
**内容**:
|
||
- 应用路径映射
|
||
- 服务器配置
|
||
- 应用描述信息
|
||
- 发现时间戳
|
||
|
||
## 📖 详细指南
|
||
参见 `DOCKER_CONFIG_EDITOR_GUIDE.md` 获取完整的使用说明和安全编辑流程。
|
||
|
||
## 🔍 故障排除
|
||
|
||
### 常见问题
|
||
1. **连接失败**: 检查SSH配置和网络
|
||
2. **权限问题**: 确保有文件读写权限
|
||
3. **配置错误**: 使用验证功能检查语法
|
||
4. **应用启动失败**: 查看Docker日志
|
||
|
||
### 调试命令
|
||
```bash
|
||
# 查看Docker日志
|
||
ssh ubuntu1 "cd /home/shenwei/Docker/portainer && docker compose logs"
|
||
|
||
# 查看容器状态
|
||
ssh ubuntu1 "cd /home/shenwei/Docker/portainer && docker compose ps"
|
||
|
||
# 查看备份文件
|
||
ssh ubuntu1 "ls -la /home/shenwei/Docker/portainer/docker-compose.yml.backup.*"
|
||
```
|
||
|
||
## 📊 统计信息
|
||
- **总服务器**: 3台
|
||
- **总应用**: 16个
|
||
- **最后扫描**: 2026-03-13
|
||
- **配置文件版本**: 1.0.0
|
||
|
||
## 📝 更新记录
|
||
- **2026-03-13**: 创建Docker管理系统
|
||
- **2026-03-13**: 发现并映射16个应用
|
||
- **2026-03-13**: 实现安全编辑工具
|
||
- **2026-03-13**: 创建使用指南和文档 |