使用QQ邮箱来提醒你NAS中的容器是否需要更新,Docker部署容器更新提醒服务『WUD』

2024-05-25 16:34:13 21点赞 62收藏 16评论

哈喽小伙伴儿们好,我是Stark-C~

我记得之前教大家在NAS上部署Docker 容器自动更的服务Watchtower:

不过Watchtower虽好,也有弊端,就是它是只管更新,只要是检测到了我们部署的Docker容器中的镜像有最新版本它就给更新了,但是我们有些Docker容器中的镜像并不是说越新越好。比如说我在在部署Docker Compose项目的时候,里面会涉及到多个镜像之间的关联与依赖,贸然更新会打乱它们之间的关系造成项目的损坏。

所以对于我们普通用户来说,我们需要的只是一个容器镜像更新的提醒,至于更新的主动权在于我们自己,而不是程序。

如果说你的需求也是如此,那么今天分享的教程可能就是你需要的,它便是『WUD』。

关于WUD

使用QQ邮箱来提醒你NAS中的容器是否需要更新,Docker部署容器更新提醒服务『WUD』

🔺WUD的全名叫做“What's up Docker”,按照体育老师的说法,翻译成中文其实就是“Docker 怎么样了?”

So,这项目就是管这方面的问题的。当监控到我们主机上的 Docker 容器有新版本可用时就会通知我们,并让我们决定是否更新。

使用QQ邮箱来提醒你NAS中的容器是否需要更新,Docker部署容器更新提醒服务『WUD』

🔺这项目的运行机制如下:

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

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

TRIGGERS:当有更新时执行操作

同时,它还支持多种通知方式的触发器,包括:Smtp、Apprise、Ifttt、Pushover、Slack、Telegram、Discord等。

所以,今天的教程就教大家怎么通过Smtp的方式,使用QQ邮箱作为通知方式的触发器,来为我们推送Docker容器的更新提醒。

如果你还不了解QQ邮箱的SMTP服务,我之前出过一期详细的介绍与科普:

WUD部署

使用QQ邮箱来提醒你NAS中的容器是否需要更新,Docker部署容器更新提醒服务『WUD』

🔺打开NAS的文件管理器,在 docker 目录中(威联通默认为Container文件夹),创建一个新文件夹【wud】用于配置文件的持久化存储

使用QQ邮箱来提醒你NAS中的容器是否需要更新,Docker部署容器更新提醒服务『WUD』

🔺然后使用SSH终端工具连接到NAS之后先启用root模式(“ sudo -i ”),接着输入以下Docker run多行命令(请注意,张大妈编辑器会删掉每行命令后面的反斜杠)并回车即可:

docker run -d --name WUD --security-opt="no-new-privileges=true" --read-only=true

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

-v /share/Container/wud:/store

-p 3000:3000

-e WUD_TRIGGER_SMTP_QQ_HOST=smtp.qq.com

-e WUD_TRIGGER_SMTP_QQ_PORT=587

-e WUD_TRIGGER_SMTP_QQ_USER=你的QQ邮箱地址

-e WUD_TRIGGER_SMTP_QQ_PASS=你的QQ邮箱授权码

-e WUD_TRIGGER_SMTP_QQ_FROM=你的QQ邮箱地址

-e WUD_TRIGGER_SMTP_QQ_TO=你的QQ邮箱地址

-e WUD_TRIGGER_SMTP_QQ_TLS_ENABLED=true

-e WUD_TRIGGER_SMTP_QQ_SIMPLETITLE="容器 $${name} 有可用更新"

-e WUD_TRIGGER_SMTP_QQ_SIMPLEBODY="容器 $${name} 可以从版本 $${local} 更新到版本 $${remote}"

fmartinou/whats-up-docker

为了便于项目后期的维护和管理,建议使用docker-compose的方式部署:

version: '3.9' services: whatsupdocker: image: fmartinou/whats-up-docker container_name: WUD security_opt: - no-new-privileges=true read_only: true volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - /docker/wud:/store # 映射wud文件夹 ports: - 3000:3000 # 端口不要冲突 environment: - WUD_TRIGGER_SMTP_QQ_HOST=smtp.qq.com - WUD_TRIGGER_SMTP_QQ_PORT=587 - WUD_TRIGGER_SMTP_QQ_USER=你的QQ邮箱地址 - WUD_TRIGGER_SMTP_QQ_PASS=你的QQ邮箱授权码 - WUD_TRIGGER_SMTP_QQ_FROM=你的QQ邮箱地址 - WUD_TRIGGER_SMTP_QQ_TO=你的QQ邮箱地址 - WUD_TRIGGER_SMTP_QQ_TLS_ENABLED=true - WUD_TRIGGER_SMTP_QQ_SIMPLETITLE=容器 $${name} 有可用更新 - WUD_TRIGGER_SMTP_QQ_SIMPLEBODY=容器 $${name} 可以从版本 $${local} 更新到版本 $${remote}

以上代码需要根据提示自行修改即可。

WUD体验

打开方式和传统容器一样,直接在浏览器中输入 http:// NAS的局域网IP:端口号 即可。

使用QQ邮箱来提醒你NAS中的容器是否需要更新,Docker部署容器更新提醒服务『WUD』

🔺WUD没有中文可供选择,好在它的界面其实也够简单,显示的内容不多, 一般能认出字母的也能猜个大概意思。

使用QQ邮箱来提醒你NAS中的容器是否需要更新,Docker部署容器更新提醒服务『WUD』

🔺不过对于我这种23个英文字母都认不全的人,还是可以借助浏览器翻译插件来正常使用的。

使用QQ邮箱来提醒你NAS中的容器是否需要更新,Docker部署容器更新提醒服务『WUD』

🔺可以看到所有容器镜像的更新情况与否,有更新的会显示最新版本镜像(版本号)。

使用QQ邮箱来提醒你NAS中的容器是否需要更新,Docker部署容器更新提醒服务『WUD』

🔺同时,如果你在部署时候的环境变量没有问题,在Triggers里面就会显示你部署时候自己的QQ邮箱相关信息。

WUD部署起来还是挺简单的,如果你有需要,也可以用它来监控你NAS上的Docker容器是否有更新。

好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家~

展开 收起
16评论

  • 精彩
  • 最新
  • Portainer能支持这个功能就好了

    校验提示文案

    提交
    这就是个容器啊,portainer也是容器,互不影响吧?

    校验提示文案

    提交
    收起所有回复
  • Docker容器更新神器,但得小心镜像关联,不然会出大问题!

    校验提示文案

    提交
  • 大佬牛逼

    校验提示文案

    提交
  • 哇咔咔

    校验提示文案

    提交
  • 厉害了(ง •̀_•́)ง

    校验提示文案

    提交
  • watchtower 可以定义更新策略 通

    校验提示文案

    提交
  • 现在pull镜像都困难,这个还有用处吗?

    校验提示文案

    提交
  • 又来学习了

    校验提示文案

    提交
  • qq邮箱竟然能和NAS适配,厉害啊

    校验提示文案

    提交
  • 很实用收藏了再说

    校验提示文案

    提交
  • 看完只能感叹,厉害

    校验提示文案

    提交
  • 都是干货 先收藏了

    校验提示文案

    提交
  • 学习了

    校验提示文案

    提交
  • 又来学习高端技术

    校验提示文案

    提交
  • 真的很实用啊

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

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