开源&Docker 篇十六:报告!你的容器镜像该更新了——What's Up Docker

前言

大家好,这里是可爱的Cherry,一个美丽冻人的日更美少女

求关注、求点赞、求转发~~求一键三连呀~~🧡🧡🧡💛💛💛💚💚💚

说到Docker容器监听服务,你肯定第一时间想到WatchTower对吧?Cherry曾经也发布过关于灯塔的一些部署和使用教程。

🔻以下是Docker容器可视化管理面板专题,有兴趣的朋友也可以看看。

开源&Docker 篇十六:报告!你的容器镜像该更新了——What's Up Docker-图1但是今天呢,恭喜你猜错了,今天Cherry介绍另外一款容器监听工具——What's Up Docker(以下简称WUD),对,就是在标题里写的这名字。

开源&Docker 篇十六:报告!你的容器镜像该更新了——What's Up Docker-图2

那么我们就开始吧! Dokcer,你肿么了。


系统介绍

一、WUD做什么工作?

🔻WUD 容器建立在以下三个步骤中进行工作,当 Docker 容器存在新版本时,WUD会通过多种多样的方式通知你,并让你按照自己的方式做出反应。

  1. WATCHERS:查询 Docker 主机以获取要监视的容器

  2. REGISTRIES:查询 Docker 注册表以查找可用更新

  3. TRIGGERS:在有可用更新时执行相应的操作

🔻以下是工作流程图,提供UI与API,并且重点关注通知方式,使用 Smtp、Apprise、Ifttt、Pushover、Slack、Telegram、Discord 等发送通知,对我们来说最通用的就是webhook。

开源&Docker 篇十六:报告!你的容器镜像该更新了——What's Up Docker-图3

部署教程

一、SSH部署

❗【端口】:自定义对外端口,以23000为例

docker run -d --name wud -v /var/run/docker.sock:/var/run/docker.sock:ro -p 【端口】:3000 fmartinou/whats-up-docker

#

docker run -d --name wud -v /var/run/docker.sock:/var/run/docker.sock:ro -p 23000:3000 fmartinou/whats-up-docker

二、群晖部署

🔻建议使用计划任务执行复制以下代码使用

docker run -d --name wud

-v "/var/run/docker.sock:/var/run/docker.sock"

-p 23000:3000 #自定义端口

fmartinou/whats-up-docker


程序使用

一、自动监控镜像版本

该项目没有设置或控制面板所有的功能都是通过环境变量来实现的,因此首页内容也很简单,仅作为展示。

🔻项目首页,可以看到已经提示有3个容器可以更新镜像了。

开源&Docker 篇十六:报告!你的容器镜像该更新了——What's Up Docker-图4

🔻点击左侧的容器按钮进入容器列表详情页,可以看到每一个容器镜像的最新版本号,该页包含功能如下:

  1. Update available:查看仅有更新的。

  2. WATCH NOW:手动刷新容器镜像版本。

开源&Docker 篇十六:报告!你的容器镜像该更新了——What's Up Docker-图5

二、配置通知器

该项目支持Apprise、Http、Iftt、Kafka、Mqtt、Pushover、Slack、Smtp、TG、DISCORD等消息通知。较有意思的是,所有的配置都是通过环境变量来实现的,支持同时发送多个监控工具,并且通过自定义环境变量来实现。

其中,Http使用Json代码,而Json的格式是固定的,除非你修改代码,因此在微信、钉钉、gotify等项目中并不能很好的运用。

⭐⭐Cherry曾经写到两篇关于webhook使用的文章,有兴趣的朋友可以看一看。⭐⭐

🔻具体的指令可以查看官方文档。Triggers (fmartinou.github.io),以下介绍一下自定义的格式:

WUD_TRIGGER_{{trigger_type}}}_{trigger_name}_MODE

{{trigger_type}}}:表示发送类型,包括SMTP、HTTP、MQTT等

{trigger_name}}}:表示自定义名称,只要保持一致即可,比如webhook的我统一为bark,smtp的我统一为gmail

🔻通用内容,定义传送内容:

#标题

-e 'WUD_TRIGGER_SMTP_GMAIL_SIMPLETITLE=Container ${name} can be updated'

#内容

-e 'WUD_TRIGGER_SMTP_GMAIL_SIMPLEBODY=Container ${name} can be updated from version ${local} to version ${remote}'

🔻Webhook(HTTP):以bark的为例

bark服务地址:http://192.168.1.104:16009/a2dh7rS3dNXo7SLBMH5XEN/

#webhook地址

-e WUD_TRIGGER_HTTP_BARK_URL="http://192.168.1.104:16009/a2dh7rS3dNXo7SLBMH5XEN/"

#webhook方法,采用get

-e WUD_TRIGGER_HTTP_BARK_METHOD="GET"

🔻Webhook(HTTP):最终指令为

docker run -d --name wud -v /var/run/docker.sock:/var/run/docker.sock:ro -e TZ=Asia/Shanghai -e WUD_TRIGGER_HTTP_BARK_URL="http://192.168.1.104:16009/a2dh7rS3dNXo7SLBMH5XEN/" -e WUD_TRIGGER_HTTP_BARK_METHOD="GET" -e 'WUD_TRIGGER_HTTP_BARK_SIMPLEBODY=Container ${name} can be updated from version ${local} to version ${remote}' -p 23000:3000 fmartinou/whats-up-docker

🔻Smtp,以Gmail邮箱为例

-e WUD_TRIGGER_SMTP_GMAIL_HOST="smtp.gmail.com"

-e WUD_TRIGGER_SMTP_GMAIL_PORT="465"

-e WUD_TRIGGER_SMTP_GMAIL_USER="john.doe@gmail.com"

-e WUD_TRIGGER_SMTP_GMAIL_PASS="mysecretpass"

-e WUD_TRIGGER_SMTP_GMAIL_FROM="john.doe@gmail.com"

-e WUD_TRIGGER_SMTP_GMAIL_TO="jane.doe@gmail.com"

-e WUD_TRIGGER_SMTP_GMAIL_TLS_ENABLED="true"

三、其它配置

🔻设置Docker自动更新

-e "WUD_TRIGGER_DOCKER_EXAMPLE_PRUNE=true"

🔻更改镜像源

镜像源支持ACR、CUSTOM、ECR 、GCR 、GHCR、GITLAB、HOTIO 、HUB、LSCR、Quay等不同镜像库的cookie登录,防止被限流。具体文档可以看:Registries (fmartinou.github.io)

四、API接口

WUD允许第三方使用WUD的API,可以查看容器、删除容器、查看日志等。

开源&Docker 篇十六:报告!你的容器镜像该更新了——What's Up Docker-图6

最后

生命在于折腾,容器在于稳定。实话实说,在折腾久了以后,Cherry并不喜欢频繁的更新容器,因为很多容器项目更新往往包含着环境变量、内部结构的变动,如果不明所以就将容器版本更新,很容易造成项目损坏。

因此本项目仅仅通过监控镜像版本,并予以通知,可以很大的程度上解决我们的困境,一边能及时知晓手上的docker是否更新了,另一边也能考虑周全是否更新。

虽然群晖DSM7.2已经包含了镜像更新提醒功能,但是我们依旧可以部署一些简单明了的工具来帮我们更好的管理容器、镜像。

该项目属于docker项目,所有nas均可以安装。


开源&Docker 篇十六:报告!你的容器镜像该更新了——What's Up Docker-图7

欢迎朋友们评论区讨论留言。我会定期更新关注NAS使用方法、开源软件与Docker软件、游戏与生活相关内容,喜欢的朋友请关注、点赞、留言支持。

该内容正在参与【2023值得总结】征稿活动,飞天茅台、iPhone15、6000元现金等大奖疯狂派发中,快来分享你的年度好物,证明2023有在好好生活,赢取超级大奖!点击参与→

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

转载请说明出处 内容投诉内容投诉
南趣百科 » 开源&Docker 篇十六:报告!你的容器镜像该更新了——What's Up Docker

南趣百科分享生活经验知识,是您实用的生活科普指南。

查看演示 官网购买