Watchtower 介紹
Watchtower 會偵測是否有新的映像可用,然後嘗試安裝新的版本,並使用新版本 image 重新啟動容器。
docker-compose 範例
services:
watchtower:
container_name: watchtower
image: containrrr/watchtower:latest
restart: always
environment:
TZ: "Asia/Taipei"
WATCHTOWER_ROLLING_RESTART: "true"
WATCHTOWER_NOTIFICATION_REPORT: "true"
WATCHTOWER_NOTIFICATION_URL: "telegram://XXX:XXX@telegram/?Chats=XXX"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: --schedule "0 0 1 * * *" --cleanup app1 app2 app3
- —interval 86400 Poll interval 以秒為間隔檢查
- —schedule 使用 6 欄位的 Cron expression 例如:“0 0 1 * * *” 每天1點檢查
- —cleanup 容器名稱
說明文檔: https://containrrr.dev/watchtower/arguments/
在 arm 平台使用需要注意 image 有沒有提供 arm 架構
如果該 image 只有 x86 版本也會 watchtower 拉取
並出現無法執行 image 錯誤
GitHub issue #1309