CyberQ 賽博客
沒有結果
觀看所有搜尋結果
  • Home
    • 關於我們
    • 隱私權政策
  • 新聞
  • 基礎教學
    • NAS 基礎設定
  • Docker / 容器
    • 虛擬化
  • 資安專區
    • ISO 合規
  • AI 應用實戰
  • 進階應用
    • DevOps
    • 程式開發
    • 企業解決方案
  • DR.Q 快問快答
  • 開箱測試
  • 展覽直擊
聯繫我們
  • Home
    • 關於我們
    • 隱私權政策
  • 新聞
  • 基礎教學
    • NAS 基礎設定
  • Docker / 容器
    • 虛擬化
  • 資安專區
    • ISO 合規
  • AI 應用實戰
  • 進階應用
    • DevOps
    • 程式開發
    • 企業解決方案
  • DR.Q 快問快答
  • 開箱測試
  • 展覽直擊
沒有結果
觀看所有搜尋結果
CyberQ 賽博客
沒有結果
觀看所有搜尋結果
  • Home
  • 新聞
  • 基礎教學
  • Docker / 容器
  • 資安專區
  • AI 應用實戰
  • 進階應用
  • DR.Q 快問快答
  • 開箱測試
  • 展覽直擊
首頁 進階應用 DevOps

用 Watchtower 協助 Docker 容器永續自動更新,解放你的維運壓力

Icewind by Icewind
2025 年 11 月 9 日
Reading Time: 5 mins read
A A
用 Watchtower 協助 Docker 容器永續自動更新,解放你的維運壓力
13
分享數
259
觀看數
分享到臉書分享到 X分享到Line分享到 Threads分享到 Linkedin

想像一下,你是一位辛勤的開發者或 DevOps 工程師,負責管理數十個甚至數百個 Docker 容器。每次有新的映像檔版本釋出,你就必須手動登入、拉取最新映像檔、停止舊容器、然後啟動新容器。這不僅耗時費力,還容易出錯,如果長期不更新我們使用的容器映像檔,甚至可能讓你的應用程式暴露於過時軟體帶來的安全風險中。

RELATED POSTS

PaaS vs. VPS:Idealist.org 如何將 3,000 美元月帳單降至 55 美元,大幅節省費用背後的營運風險與技術權衡

打造家庭多媒體中心:用 NAS 串流影音內容的三個實作

用 NAS 聽高音質音樂,設定藍牙篇:支援 LDAC 讓 Hi-Res 藍芽耳機與喇叭火力全開

有沒有一種方法,能讓這些繁瑣的更新工作自動化,讓你的容器始終保持在最新、最安全的狀態?

答案就是:Watchtower。

Watchtower 是一個巧妙的工具,它能自動監控你的 Docker 容器所使用的映像檔,並在偵測到新版本時,自動執行更新和重啟。它就像一個忠實的守衛,確保你的數位堡壘永不失守。

Watchtower 的核心優勢

Watchtower 的設計哲學是簡潔而高效,它透過幾個巧妙的特點,徹底改變了我們的容器管理方式:

容器內的容器

巧妙的自我管理 Watchtower 最令人稱奇的設計之一,就是它本身也作為一個 Docker 容器運行。這意味著你不需要在主機上安裝額外的軟體或額外的設定,只需像啟動其他任何容器一樣啟動 Watchtower 即可。這種「容器內的容器」模式不僅簡化了部署,也讓 Watchtower 能夠與 Docker 環境完美整合,以最原生的方式管理你的其他容器。

智慧型自動化

你可能會擔心自動更新會導致服務中斷或資料遺失。然而,Watchtower 並非盲目地執行更新。它支援「優雅關閉」(graceful shutdown),在重啟容器前,會先向舊容器發送 SIGTERM 信號,給予應用程式足夠的時間來完成當前任務並妥善關閉。如果容器未能及時響應,才會發送 SIGKILL。

安全與穩定

在網路安全威脅日益嚴峻的今天,保持軟體更新是防禦攻擊的關鍵一環。Watchtower 確保你的應用程式始終運行最新版本的映像檔,這意味著你可以即時獲得最新的安全修補程式和錯誤修正。這不僅大大降低了潛在的安全漏洞,也提升了應用程式的整體穩定性。

自我更新與永續發展

這是一個非常特別的特點:Watchtower 甚至能夠更新自己!你可以配置 Watchtower 來監控其自身的映像檔,並在有新版本可用時自動更新。這確保了 Watchtower 這個更新工具本身也總是運行在最新、最佳化的狀態。

實戰部署 – 在 NAS 或 Linux 上安裝 Watchtower

對於 QNAP NAS 用戶來說,我們可以透過 Container Station(容器工作站)來部署 Watchtower。這裡提供兩種主流方法:一種是使用 Container Station 的圖形化介面,另一種是透過 Portainer 的 Stacks 功能,這也是滿推薦的方式。後者是我們管理 Linux 伺服器上容器常見的安裝方式,採用 Portainer 來管理也是一個方式,以及大量使用 Docker Compose 了。

方法一:使用 QNAP Container Station GUI (視覺化建立)

這是最直觀的方法,適合剛接觸 Docker 的使用者。

開啟 Container Station:登入 QTS,開啟 Container Station 3.0 或更新版本。

建立容器:在左側選單選擇「建立」(Create),在搜尋框中輸入 containrrr/watchtower 並按搜尋。

選擇映像檔:找到官方的 containrrr/watchtower 映像檔(通常是第一個),點擊「部署」,選最新 Latest 的映像檔。

基本設定:

名稱:自訂一個名稱,例如 watchtower 或 watchtower -1 。

自動啟動:建議勾選。

進入進階設定:點擊下方的「進階設定」。

掛載 Docker Socket (關鍵步驟):

「儲存空間」設定

在「磁碟區」(Volumes) 區塊,點擊「掛載本機目錄」。

主機路徑 (Host):輸入 /var/run/docker.sock

容器路徑 (Container):輸入 /var/run/docker.sock

說明:這一步是授權 Watchtower 容器去存取和管理主機上的 Docker 服務。

設定重啟策略:

選擇「總是」(Always) 或「除非停止」(Unless Stopped),確保 NAS 重啟後 Watchtower 也能自動運行。

建立:確認設定無誤後,點擊「建立」。

容器啟動後,Watchtower 就會開始在背景運作,預設會每天定時檢查所有正在運行的容器是否有新版本。

方法二:透過 Portainer Stacks 部署 (推薦)

如果你在 QNAP 或你的 Linux 伺服器上已經安裝了 Portainer 來管理 Docker,使用「Stacks」(堆疊)功能來部署 Watchtower 會是更專業且易於管理的方式。Stacks 實際上就是使用 docker-compose YAML 檔案。

登入 Portainer:開啟你的 Portainer 管理介面。

選擇環境:選擇你的 QNAP Docker 環境 (通常是 local 或 primary)。

進入 Stacks:在左側選單點選「Stacks」(堆疊)。

新增 Stack:點擊右上角的「Add Stack」(新增堆疊)。

設定 Stack:

Name:輸入一個名稱,例如 watchtower_stack。

Web editor (網頁編輯器):貼上下方的 YAML 內容。

docker-compose.yml 範例:

version: "3"
services:
  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    # command: --schedule "0 0 4 * * *" # 可選:指定排程,例如每天凌晨 4 點執行
    command: --cleanup # 可選:自動刪除舊的映像檔,這個建議要開,避免 Docker 系統中留一堆舊的映像檔占空間
    restart: unless-stopped

部署 Stack:點擊頁面底部的「Deploy the stack」(部署堆疊)。

Portainer 會自動拉取映像檔並根據我們撰寫的 YAML 設定檔來啟動 Watchtower。使用 Stacks 的好處是,未來修改設定(例如調整排程)非常方便,只需回到 Stack 編輯 YAML 即可。

CyberQ 重點提示:

QNAP Container Station 內的「應用程式」->「建立應用程式」功能,
其實也是一個內建的 docker-compose 介面。
你也可以將上述 YAML 貼到那裡,其效果與 Portainer Stacks 相同。

客製化 Watchtower 進行精準控制更新

預設情況下,Watchtower 會嘗試更新所有正在運行的容器。但在某些情況下,你可能只想更新特定容器,或排除某些敏感的應用程式(例如資料庫)。

這可以透過 Command(命令) 或 Labels(標籤) 來實現。

Command (在 YAML 中修改 command 行):

設定排程:預設是每天檢查一次。你可以使用 Cron 表達式自訂時間。 command: –schedule “0 0 4 * * *” (每天凌晨 4 點執行)

清理舊映像檔:更新後自動刪除舊的映像檔,釋放空間。 command: –cleanup

僅更新特定容器:讓 Watchtower 只監控和更新你指定的容器。 command: unifi-controller pihole (只更新名為 “unifi-controller” 和 “pihole” 的容器)

組合使用: command: –schedule “0 0 4 * * *” –cleanup unifi-controller pihole

Labels (在「被更新」的容器上設定): 這是更靈活的管理方式。你可以在其他容器(例如你的 Portainer 或 AdGuard Home)上設定標籤,來告訴 Watchtower 該如何對待它。

排除更新:在你 不想 被自動更新的容器上加入此標籤: com.centurylinklabs.watchtower.enable=false

納入更新(白名單模式):

首先,啟動 Watchtower 時加入 –label-enable 參數 (例如 command: –label-enable)。

這會使 Watchtower 預設不更新任何容器。

然後,在你希望被自動更新的容器上加入此標籤: com.centurylinklabs.watchtower.enable=true

CyberQ 推薦 Watchtower 必裝

Watchtower 不僅僅是一個容器更新工具,它更是一種解放 DevOps 人力、提升系統韌性與安全性的策略性部署。

透過在 QNAP NAS 或維運中的 Linux Docker 伺服器上簡單的設定,它就能將繁瑣的手動更新工作轉化為無聲無息的背景自動化,讓你的團隊可以專注於更有價值的開發工作。

當你的 Docker 容器能夠持續自我更新時,你的數位基礎設施將變得更安全與穩定。

最後,順便要提醒的是,安裝之後,如果沒有指定時間,通常在 24 小時候就會進行 WatchTower 的自動更新流程,請確認你的容器服務一切都正常,設定檔也沒有受影響,要排除不更新的容器要先指定好。

本文題圖由 ComfyUI 搭配本地端 AI 模型生成

用 Portainer 管理 QNAP NAS 容器基礎實作
如何讓 QNAP 上的 Portainer 控管 Windows Docker Desktop ?
NAS 容器化部署:如何利用 Portainer 輕鬆管理你的應用?
在 QNAP NAS 用 Docker架設個人網站服務實作
在 QNAP NAS 上使用 OLLAMA 運行 AI 模型基礎教學
標籤: Container StationDockerPortainerQNAPWatchtower
Share5Tweet3ShareShareShare1
上一篇

AI 的文化密碼:ChatGPT、Gemini、DeepSeek 的價值觀差異全解析

下一篇

英國資安理賠暴增三倍!AI 釣魚與地緣政治正引爆資安保險危機

Icewind

Icewind

歷經數位內容、電商、資安、AI 與科技產業,擁有多年產業經驗,ISO 27001:2022 LA、ISO 27701:2019 LA。

相關文章文章

PaaS vs. VPS:Idealist.org 如何將 3,000 美元月帳單降至 55 美元,大幅節省費用背後的營運風險與技術權衡
DevOps

PaaS vs. VPS:Idealist.org 如何將 3,000 美元月帳單降至 55 美元,大幅節省費用背後的營運風險與技術權衡

2025 年 10 月 22 日
打造家庭多媒體中心:用 NAS 串流影音內容的三個實作
NAS 基礎設定

打造家庭多媒體中心:用 NAS 串流影音內容的三個實作

2025 年 10 月 15 日
打造家庭多媒體中心:用 NAS 串流影音內容的三個實作
DR.Q 快問快答

用 NAS 聽高音質音樂,設定藍牙篇:支援 LDAC 讓 Hi-Res 藍芽耳機與喇叭火力全開

2025 年 10 月 15 日
手機廣告終結者:AdGuard Home x QNAP NAS 守護辦公室與居家網路實戰
Docker / 容器

手機廣告終結者:AdGuard Home x QNAP NAS 守護辦公室與居家網路實戰

2025 年 10 月 14 日
免費 PDF 伺服器,QNAP NAS 成為 PDF 轉檔合檔修改中心 (Stirling PDF 實作)
Docker / 容器

免費 PDF 伺服器,QNAP NAS 成為 PDF 轉檔合檔修改中心 (Stirling PDF 實作)

2025 年 10 月 13 日
NAS 進階效能最佳化概要
基礎教學

NAS 進階效能最佳化概要

2025 年 10 月 11 日
下一篇
英國資安理賠暴增三倍!AI 釣魚與地緣政治正引爆資安保險危機

英國資安理賠暴增三倍!AI 釣魚與地緣政治正引爆資安保險危機

資安保險不是萬靈丹:六大關鍵條款與台灣市場現況全解析

資安保險不是萬靈丹:六大關鍵條款與台灣市場現況全解析

推薦閱讀

Backblaze 13 年資料呈現硬碟可靠度真相,當代硬碟壽命比預期更持久

Backblaze 13 年資料呈現硬碟可靠度真相,當代硬碟壽命比預期更持久

2025 年 10 月 23 日
AI 算力戰白熱化!Anthropic 豪擲數百億美元,向 Google 採購百萬顆 TPU 來組建規模 1 GW 的 AI 算力

AI 算力戰白熱化!Anthropic 豪擲數百億美元,向 Google 採購百萬顆 TPU 來組建規模 1 GW 的 AI 算力

2025 年 10 月 26 日
AI 也會「腦腐失智」!研究揭露垃圾資料讓 LLM 出現認知退化與黑暗特質

AI 也會「腦腐失智」!研究揭露垃圾資料讓 LLM 出現認知退化與黑暗特質

2025 年 10 月 22 日

熱門文章

  • AI 比瓶裝水還便宜:當智慧變成自來水,人類變成奢侈品

    AI 比瓶裝水還便宜:當智慧變成自來水,人類變成奢侈品

    17 shares
    Share 7 Tweet 4
  • 開箱實測 Arduino UNO Q,經典 UNO 加上高通 AI 核心成為新一代 SBC 與開發版優選

    17 shares
    Share 7 Tweet 4
  • 一兆美元薪酬的信任:特斯拉押寶馬斯克引領 AI 與機器人革命

    13 shares
    Share 5 Tweet 3
  • Windows 11 25H2 正式釋出,ISO檔與小更新檔均可部署

    67 shares
    Share 27 Tweet 17
  • 用 Watchtower 協助 Docker 容器永續自動更新,解放你的維運壓力

    13 shares
    Share 5 Tweet 3

關於 CyberQ 賽博客

您的企業儲存、網路架構與資安科技好夥伴

專注於企業級網路與儲存環境建構、NAS 系統整合、資安解決方案與 AI 應用顧問服務,為您打造高可用、高安全、高效能的數位環境。

專業產業媒體 × 技術顧問團隊

我們關注新興科技趨勢,深入報導海內外產業動態,並結合多年實務經驗,提供量身打造的 IT 解決方案與精選內容。

我們提供的核心服務 : 

資安防護|網站開發與雲端服務|AI 導入與應用顧問|企業資訊環境建構|NAS 系統整合|數位內容產製|科技媒體|

CyberQ 致力於打造更智慧、更安全的數位未來。

新聞稿、採訪、授權、內容投訴、行銷合作、投稿刊登:service@cyberq.tw
廣告委刊、展覽會議、系統整合、資安顧問、業務提攜:service@cyberq.tw

Copyright ©2025 CyberQ.tw All Rights Reserved.

沒有結果
觀看所有搜尋結果
  • Home
    • 關於我們
    • 隱私權政策
  • 新聞
  • 基礎教學
    • NAS 基礎設定
  • Docker / 容器
    • 虛擬化
  • 資安專區
    • ISO 合規
  • AI 應用實戰
  • 進階應用
    • DevOps
    • 程式開發
    • 企業解決方案
  • DR.Q 快問快答
  • 開箱測試
  • 展覽直擊

© 2025 CyberQ NAS、資安、資訊科技、AI應用的日常 關於 CyberQ 賽博客NAS 系統與電腦、手機一起的生活故事多年的系統整合與資訊安全經驗,協助智慧家居、小型工作室、辦公室與機構,導入更便利、更安全的資訊環境與應用。