自动更新 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
相关推荐
haluhalu.2 小时前
Linux系统下进程池设计与实现详解
linux·运维·服务器
m0_537473492 小时前
Nginx 生产环境平滑升级实战:从 1.24.0 到 1.28.0 的零宕机操作全记录
运维·nginx
虹梦未来2 小时前
【运维】Ubuntu2404使用新风格更新镜像源
运维·服务器
一只旭宝2 小时前
Linux专题四:静态库,动态库,进程进阶以及fork()函数初步
linux·运维
小白不想白a2 小时前
ELB--弹性负载均衡器
运维·负载均衡
乾元2 小时前
自动化补丁评估与策略回滚:网络设备固件 / 配置的风险管理
运维·开发语言·网络·人工智能·架构·自动化
杨云龙UP2 小时前
Oracle释放磁盘空间:alert.log和listener.log清理实战记录_20251225
运维·服务器·数据库·sql·oracle
iconball3 小时前
个人用云计算学习笔记 --25 OpenStack 框架
运维·笔记·学习·云计算
小宇的天下3 小时前
Calibre DESIGNrev DRC/LVS启动和准备文件(10-3)
运维·服务器