docs: 拆分 README.md 为多个子文档,README 简化为架构引导大纲

This commit is contained in:
2026-04-14 12:23:31 +08:00
parent 7758930a01
commit f98091bb54
9 changed files with 1459 additions and 1636 deletions

View File

@@ -0,0 +1,144 @@
# 卸载和清理
根据需求选择卸载范围。以下操作不可逆,请提前备份重要数据。
---
## 卸载前:备份关键数据
```bash
cd /opt/youle/game-docker
# 1. 备份 .env包含所有密钥不在版本库中
cp .env ~/youle-env-backup.env
# 2. 备份 Redis 数据(如有业务数据存储在 Redis 中)
docker exec youle-redis redis-cli -a "${REDIS_PASSWORD}" BGSAVE
# 或直接备份 volume
docker run --rm -v game-docker_redis-data:/data -v ~/:/backup alpine \
tar czf /backup/redis-data-backup.tar.gz /data
# 3. 备份日志(按需)
docker cp youle-api:/var/www/html/logs ~/api-logs-backup
docker cp youle-dlweb:/var/www/html/api/logs ~/dlweb-logs-backup
```
---
## 仅停止所有容器(保留镜像和数据,可随时恢复)
```bash
cd /opt/youle/game-docker
docker compose stop
# 验证
docker compose ps
```
恢复运行:
```bash
docker compose start
```
---
## 停止并删除容器保留镜像、volumes 和项目文件)
```bash
cd /opt/youle/game-docker
docker compose down
# 验证容器已删除
docker ps -a | grep youle
```
> 此操作不会删除数据 volume 和已构建的镜像,再次 `docker compose up -d` 可快速恢复,无需重新构建。
---
## 完全卸载(删除容器 + volumes + 镜像)
> **警告:** 以下操作将删除 Redis 缓存和所有日志数据,不可恢复。
```bash
cd /opt/youle/game-docker
# 停止并删除容器 + 所有相关 volumes
docker compose down -v
# 删除本项目构建的镜像
docker rmi game-docker-api game-docker-dlweb game-docker-wxserver 2>/dev/null || true
# 验证
docker volume ls | grep game-docker
docker images | grep game-docker
```
---
## 彻底清理(删除容器 + volumes + 镜像 + 项目目录 + SSL 证书)
> **警告:** SSL 证书删除后需重新申请Let's Encrypt 有频率限制,每 7 天最多 5 次)。
```bash
cd /opt/youle/game-docker
# 1. 停止并删除容器 + volumes
docker compose down -v
# 2. 删除构建镜像
docker rmi game-docker-api game-docker-dlweb game-docker-wxserver 2>/dev/null || true
# 3. 清理 Docker 悬空资源(可选)
docker system prune -f
# 4. 删除 SSL 证书
docker volume rm game-docker_certbot-certs game-docker_certbot-webroot 2>/dev/null || true
# 5. 删除项目目录
rm -rf /opt/youle/game-docker
```
---
## 删除单个服务的容器和镜像
```bash
cd /opt/youle/game-docker
# 以 dlweb 为例
docker compose stop dlweb
docker compose rm -sf dlweb
docker rmi game-docker-dlweb
# 下次启动时会重新构建
docker compose up -d --build dlweb
```
---
## 清理定时任务残留
```bash
docker compose stop syncjob cronjob
docker compose rm -sf syncjob cronjob
# 清理共享信号 volume如有残留暂停文件
docker run --rm -v game-docker_shared-signal:/shared alpine rm -f /shared/syncjob.pause
# 如需完全删除共享 volume
docker volume rm game-docker_shared-signal
```
---
## 卸载操作速查
| 目标 | 命令 | 保留内容 |
|------|------|----------|
| 临时停止(可恢复) | `docker compose stop` | 容器 / 镜像 / volumes / 文件 |
| 删除容器 | `docker compose down` | 镜像 / volumes / 文件 |
| 删除容器 + volumes | `docker compose down -v` | 镜像 / 文件 |
| 删除容器 + volumes + 镜像 | `docker compose down -v` + `docker rmi ...` | 文件 |
| 完全清理 | 上述全部 + `rm -rf /opt/youle/game-docker` | 无 |