3.4 KiB
3.4 KiB
卸载和清理
根据需求选择卸载范围。以下操作不可逆,请提前备份重要数据。
卸载前:备份关键数据
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
仅停止所有容器(保留镜像和数据,可随时恢复)
cd /opt/youle/game-docker
docker compose stop
# 验证
docker compose ps
恢复运行:
docker compose start
停止并删除容器(保留镜像、volumes 和项目文件)
cd /opt/youle/game-docker
docker compose down
# 验证容器已删除
docker ps -a | grep youle
此操作不会删除数据 volume 和已构建的镜像,再次
docker compose up -d可快速恢复,无需重新构建。
完全卸载(删除容器 + volumes + 镜像)
警告: 以下操作将删除 Redis 缓存和所有日志数据,不可恢复。
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 次)。
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
删除单个服务的容器和镜像
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
清理定时任务残留
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 |
无 |