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