自动更新 Docker 镜像

Watchtower 会通过 Unix Socket 与 Docker 的守护进程 dockerd 通信,拉取最新的镜像,并与当前运行的进行比较。如果两者的 Hash 不同,则停止当前容器,并使用相同命令参数启动新容器。目前该项目由于维护者的经历不足,已归档停止维护。

基本用法

shell 复制代码
$ sudo docker run \
--detach \
--name watchtower \
--volume /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower

手动触发检查镜像更新

在创建 watchtower 容器之后,通过会在 24 小时之后进行第一次更新检查;如果想要立刻更新,可以手动运行:

shell 复制代码
$ sudo docker exec watchtower /watchtower --run-once

配置 EMail 通知

shell 复制代码
$ sudo docker run \
--name watchtower \
--volume /var/run/docker.sock:/var/run/docker.sock \
--env WATCHTOWER_NOTIFICATIONS=email \
--env WATCHTOWER_NOTIFICATION_EMAIL_FROM=yewq@yewq.cn \
--env WATCHTOWER_NOTIFICATION_EMAIL_TO=yewq@yewq.cn \
--env WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.exmail.qq.com \
--env WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=465 \
--env WATCHTOWER_NOTIFICATION_EMAIL_SERVER_TLS=true \
--env WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=yewq@yewq.cn \
--env WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=password \
--detach \
containrrr/watchtower

参考资料

  1. 【文档】Watchtower
  2. 【源码】watchtower
相关推荐
无奈笑天下1 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
威嵌神州5 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Decay__6 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
java_logo6 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
xbzb7 小时前
容器 IP 每次重建都变?docker network 五种模式与自定义网桥固定地址
网络·docker·容器·ip·network·固定
打工仔折腾 AI11 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
无奈笑天下11 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
fengkai454512 小时前
Prometheus+K8s弹性伸缩综合项目
运维·kubernetes·k8s·prometheus·hpa·vpa
分布式存储与RustFS14 小时前
镜像仓库的层别只堆本地盘:用 RustFS 给 Harbor 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
xbzb16 小时前
自建镜像仓库:registry 一条命令 + harbor 部署、授权、跨库同步与卸载
docker·harbor·镜像·仓库·同步·registry