Loading...

文章背景图

Watchtower:自动化 Docker 容器镜像更新工具|部署与使用全指南

2026-11-02
0
- 字
- 分钟
|

图1 Watchtower 官方标识(README 官方素材)

Watchtower · 自动化 Docker 容器镜像更新工具 · 中文部署与使用全指南

项目仓库: https://github.com/containrrr/watchtower

开源协议:Apache-2.0 · 实现语言:Go · 镜像:containrrr/watchtower · 形态:单容器 · 无对外端口

状态说明:官方 README 顶部标注 "This project is no longer maintained"(见 discussions/2135);官方也明确 Watchtower 面向 homelab / 媒体中心 / 本地开发环境,不建议用于商业或生产环境(生产应上 Kubernetes / k3s)。


1 项目简介

Watchtower(仓库名 containrrr/watchtower)是一个自动更新 Docker 容器基础镜像的进程:你只要把新镜像推到 Docker Hub 或自己的镜像仓库,Watchtower 就会拉取新镜像、优雅停掉现有容器,再用最初部署时的参数重启它。

1.1 核心信息一览

项目项 内容
项目名称 Watchtower
仓库地址 github.com/containrrr/watchtower
项目定位 自动化 Docker 容器镜像更新
开源协议 Apache-2.0
实现语言 Go
镜像 containrrr/watchtower
对外端口 无(仅读 Docker socket)
项目状态 官方宣布不再维护

1.2 适用场景

  • homelab / 媒体中心 / 本地开发环境,希望容器镜像自动更新。
  • 不想每次手动 docker pull && docker rm -f && docker run。

1.3 能力边界(官方口径)

  • 官方面向 homelab、媒体中心、本地开发;不建议商业 / 生产环境使用,生产应上 Kubernetes。
  • 项目已不再维护。

2 功能特性

  • 自动检测镜像更新,拉取新镜像。
  • 优雅停止旧容器,用原参数重启。
  • 可按容器标签选择更新对象。
  • 可定时调度检查间隔。

3 官方界面预览

Watchtower 是无界面的后台容器,日志即输出。封面为官方标识。

4 官方跳转链接汇总

类别 链接 说明
仓库主页 https://github.com/containrrr/watchtower 源码与 README
文档 containrrr.dev/watchtower 完整文档
停止维护说明 discussions/2135 官方公告
Docker 镜像 hub.docker.com/r/containrrr/watchtower 镜像

5 前置要求

  • Docker。
  • 挂载 /var/run/docker.sock 才能检测和重启容器。

6 方式一:Docker 一键运行(官方)

docker run --detach \
    --name watchtower \
    --volume /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower

默认会周期性检查所有容器的镜像更新;更新时拉新镜像、优雅停旧容器、用原参数重启。

7 方式二:指定容器 / 调度参数

通过命令行参数限定只更新某些容器、设置检查间隔、清理旧镜像等(详见官方文档 containrrr.dev/watchtower)。

8 配置项说明

  • 配置通过命令行参数传入(如 --interval、--cleanup、指定容器名)。
  • 容器标签可控制是否被 Watchtower 更新。
  • 无对外端口,只读 Docker socket。

9 常用运维命令

docker logs -f watchtower     # 看更新日志
docker restart watchtower
docker rm -f watchtower       # 卸载

10 常见故障排查

  • 没更新容器:确认挂载了 /var/run/docker.sock;目标容器是否被标签排除。
  • 更新后容器配置丢了:Watchtower 用"最初部署参数"重启,compose 部署的容器建议用 compose 管理,避免状态漂移。
  • 项目已停止维护:长期生产考虑替代方案(如 watchtower 替代品或 k3s)。

11 风险与合规说明

  • Apache-2.0 许可;官方已宣布不再维护,且明确不建议商业 / 生产环境使用。
  • Watchtower 挂载 Docker socket,等同完整 Docker 控制权;自动更新可能引入 breaking change,生产慎用。
  • 本文命令、参数来自官方 README 与文档,随版本可能调整,以 containrrr.dev/watchtower 为准。
评论交流

文章目录