diff --git a/docs/guide/deployment.md b/docs/guide/deployment.md index 9f149fc..d36da4c 100644 --- a/docs/guide/deployment.md +++ b/docs/guide/deployment.md @@ -124,3 +124,58 @@ volumes: 5. **主进程启动**:运行 `baihu server` 开启面板。 > **提示**:通过持久化挂载 `./envs` 目录,您安装的所有运行时版本和第三方依赖库均会永久保留。 + +--- + +## 自动更新 Docker 镜像 + +如果您希望白虎面板能够自动拉取最新镜像并无感更新,推荐使用 **Watchtower**。Watchtower 会定期检查被监控容器的基础镜像,当发现有新版本推送时,它会自动拉取新镜像、使用与原容器完全相同的配置重启容器。 + +由于白虎面板采用持久化挂载(数据和环境都在外部),因此自动更新不会造成任何数据丢失。 + +### 方式一:独立一行命令运行 Watchtower(推荐) + +执行以下命令,Watchtower 将会自动在每天凌晨 3 点自动检查并更新名为 `baihu` 的容器: + +```bash +docker run -d \ + --name watchtower \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -e TZ=Asia/Shanghai \ + -e WATCHTOWER_SCHEDULE="0 0 3 * * *" \ + -e WATCHTOWER_CLEANUP=true \ + --restart unless-stopped \ + containrrr/watchtower \ + baihu +``` + +> **参数说明**: +> - 结尾处的 `baihu` 为指定仅监控更新名为 `baihu` 的容器。若不加此参数,则会自动更新宿主机上所有的 Docker 容器。 +> - `WATCHTOWER_CLEANUP=true`:更新成功后自动删除旧版本的废弃镜像,防止存储空间被占满。 +> - `WATCHTOWER_SCHEDULE`:设置定时检查的 Cron 表达式(秒 分 时 日 月 周)。 + +### 方式二:集成到 Docker Compose 中 + +您可以直接将 Watchtower 作为附加服务加入现有的 `docker-compose.yml` 中: + +```yaml +services: + baihu: + image: ghcr.io/engigu/baihu:latest + container_name: baihu + # ... 省略端口、挂载等其他配置 ... + + watchtower: + image: containrrr/watchtower + container_name: watchtower + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: + - TZ=Asia/Shanghai + - WATCHTOWER_CLEANUP=true + - WATCHTOWER_SCHEDULE="0 0 3 * * *" + command: baihu + restart: unless-stopped +``` + +修改完成后,执行 `docker compose up -d` 生效即可。