【Synology】安裝 Watchtower 自動更新 Docker Image

在 DSM 裡面用 Docker 執行一些服務也一陣子了,一直以來都是固定每三個月手動更新 Docker 的 image 版本: Synology手動更新Docker Image

後來發現一個自動升級 Image 的工具:Watchtower,今天就來教學怎麼透過 任務排程表 安裝 Watchtower。

安裝步驟

  1. 打開控制台

  2. 任務排程表 > 新增 > 排程任務 > 使用者定義指令碼

  3. 一般:輸入名稱、選擇帳號 root 、取消勾選 已啟用

  4. 排程:選擇 在以下日期執行

  5. 任務設定:勾選 透過電子郵件傳送執行細節 ,輸入你的電子郵件,等一下可以收信確認指令結果

1
2
3
4
5
docker run -d --name=watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
-e TZ=Asia/Taipei \
--restart=always \
containrrr/watchtower --cleanup
  1. 確定警告

  2. 手動執行腳本

  3. 打開 Docker ,確認成功

指令說明

1
2
3
4
5
docker run -d --name=watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
-e TZ=Asia/Taipei \
--restart=always \
containrrr/watchtower --cleanup
  • -e TZ=Asia/Taipei : 設定時區,讓 log 顯示的時間為 Asia/Taipei

  • --cleanup : 更新時,自動刪除舊的 image ,不然會留很多舊的 image

如果想要只監聽某些 container 可以在 cleanup 後面加上 container name

1
2
3
4
5
docker run -d --name=watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
-e TZ=Asia/Taipei \
--restart=always \
containrrr/watchtower --cleanup adguard bitwarden

在 Watchtower 起來後,log 可以看到只檢查這幾個 container

想了解更多 Watchtower 指令可以看 官方文件

參考