报告!你的容器镜像该更新了——What's Up Docker

2024-01-17 09:58:09 20点赞 249收藏 20评论

前言

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

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

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

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

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

报告!你的容器镜像该更新了——What's Up Docker

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


系统介绍

一、WUD做什么工作?

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

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

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

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

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

报告!你的容器镜像该更新了——What's Up Docker

部署教程

一、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个容器可以更新镜像了。

报告!你的容器镜像该更新了——What's Up Docker

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

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

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

报告!你的容器镜像该更新了——What's Up Docker

二、配置通知器

该项目支持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,可以查看容器、删除容器、查看日志等。

报告!你的容器镜像该更新了——What's Up Docker

最后

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

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

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

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


报告!你的容器镜像该更新了——What's Up Docker

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

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

展开 收起
20评论

  • 精彩
  • 最新
  • 确实高产,值得鼓励

    校验提示文案

    提交
    感谢感谢,欢迎关注

    校验提示文案

    提交
    收起所有回复
  • 请问群晖已经运行的容器,如何修改网络模式?

    校验提示文案

    提交
    群晖—容器管理工具—网络—编辑—对不同容器进行勾选,或者使用portianer到容器内,拉到最下面对网络进行修改。

    校验提示文案

    提交
    这样不行的

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 中文还是英文版本?

    校验提示文案

    提交
    英文的,通知可以改中文

    校验提示文案

    提交
    收起所有回复
  • 果然高产,日更一文

    校验提示文案

    提交
    嘿嘿

    校验提示文案

    提交
    收起所有回复
  • 请教,发现有更新后,如何操作完成更新,还有设置DOKER自动更新的命令-e "WUD_TRIGGER_DOCKER_EXAMPLE_PRUNE=true"添加在哪里,是部署的脚本处吗

    校验提示文案

    提交
    部署WUD的时候填上这条指令,一旦发现容器更新,WUD就会自动更新。但是不建议这样做,有一些容器更新以后会导致无法启动。

    校验提示文案

    提交
    收起所有回复
  • 你好 怎么确定trigger设置生效了,我尝试添加了qq邮箱的通知,但在triggers里面还是显示“No triggers configured”

    校验提示文案

    提交
    那应该是没设置好,发一下docker run指令我看看

    校验提示文案

    提交
    估计是我不会弄,是不是不在ssh上输入指令了?

    校验提示文案

    提交
    还有5条回复
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
249
扫一下,分享更方便,购买更轻松