Docker 全自動無人值守升級 WatchTower

Docker 的好不用我再多說,用過的都知道~

我早期接觸 Docker 是在群暉 DSM 裡面,當時都是傻傻手動更新

後來有發現一個可以全自動幫你升級到最新映像檔的工具「WatchTower」,完完全全無人值守,非常方便好用

而且啟用非常簡單,基本上就是一行指令就能完成部屬

下面是簡單範例:

1
2
3
4
5
6
docker run -d --restart=always \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--cleanup \
--interval 600

第五行是每次更新完後,會自動幫你刪掉舊的映像檔,節省硬碟空間

這在一些空間不是很多的機器上很有用,基本是必加的參數

WatchTower 官方預設是不刪除舊的映像檔,上次我沒加這參數,結果在一台樹莓派裡面某個映像檔作者更新太頻繁

一個禮拜就把我 64GB 記憶卡容量吃光了。。。 🤣

第六行可加可不加,官方預設是 300 秒(5 分鐘)檢查一次,覺得太頻繁的話可以加大數字

如果你還需要更進階的使用方法,可以參考:

上面指令輸入完畢後,WatchTower 就會啓動並開始幫你監控機器上所有正在執行的容器

每隔一段時間發現有新的映像檔後,它就會幫你下載最新映像檔

並且使用你當初建立該容器時的相同環境設定去幫你重新啓動容器

當然如果你是在生產環境或者不放心讓它自動更新的話,也可以使用 monitor-only 參數來監控就好

並用 Notifications 來主動通知你有更新了~ 🖖