DIUN:Docker镜像更新通知神器

571 字
3 分钟
DIUN:Docker镜像更新通知神器

说明: DIUN,是一款基于 Go 编写的 CLI 应用程序,DIUN (Docker Image Update Notifier),字面意思:Docker 镜像更新通知器。DIUN 与 WatchTower 的区别在于 DIUN 专注于监控 Docker 注册表中镜像更新的通知功能,而 WatchTower 监控镜像的更新,同时支持自动更新镜像和容器。

Docker-Image-Update-Notifier.png
Docker-Image-Update-Notifier.png

当一些项目包含 Dockerfile 文件被修改或项目被重构时,盲目使用 WatchTower 进行自动更新可能会导致容器无法正常使用。DIUN 只通知不更新,便于我们主动查看项目的更新日志了解项目更改内容,确认是否有必要做一些修改及调整,以确保在我们更新容器后它能正常被使用。

项目地址: Github - DIUN

通过 docker-compose 部署#

1、安装 Docker 和 Docker Compose#

# 安装 Docker
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
# 安装 Docker Compose
curl -L https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 赋予 docker-compose 执行权限
chmod +x /usr/local/bin/docker-compose

2、创建 yml文件#

mkdir diun
cd diun
nano docker-compose.yml

编辑 docker-compose.yml 文件#

---
version: "3.5"
services:
diun:
image: crazymax/diun:latest
container_name: diun
command: serve
volumes:
- "./data:/data"
- "/var/run/docker.sock:/var/run/docker.sock"
environment:
- "TZ=Asia/Shanghai"
- "LOG_LEVEL=info"
- "LOG_JSON=false"
- "DIUN_WATCH_WORKERS=20"
- "DIUN_WATCH_SCHEDULE=0 */6 * * *"
- "DIUN_PROVIDERS_DOCKER=true"
labels:
- "diun.enable=true"
restart: always

任务计划#

配置 Diun 监控计划,需要在 docker-compose.yml 文件定义变量环境 DIUN_WATCH_SCHEDULE,这里设置为每 6 小时监测一次本地 Docker 实例中所有正在运行的容器。(如果需要,请查看CRON 表达式格式)。

通知服务#

Diun 支持对接到 Gotify、Mail、Slack、Telegram 等通知服务,这里我选择使用 Telegram Bot 来推送更新通知。创建一个 Telegram Bot 获取 TOKENCHATID 后,并在docker-compose.yml文件中添加以下环境变量:

- DIUN_NOTIF_TELEGRAM_TOKEN=
- DIUN_NOTIF_TELEGRAM_CHATIDS= #can be more than one (comma separated)
- DIUN_NOTIF_TELEGRAM_TEMPLATEBODY=

更多详细信息,参考官方文档,包括templateBody可以根据需要修改默认值。如果您在多台机器上运行 Diun,强烈推荐

3、启动容器#

docker-compose.yml 文件编辑完成后,运行以下命令启动 Diun:

docker-compose up -d

测试通知: 在运行状态,请使用以下命令进行测试。

docker-compose exec diun diun notif test

如果一切顺利,Telegram 将收到来自 Diun 的新通知。

4、更新容器#

后续安装升级到最新版本,请执行以下命令,

docker-compose pull
docker-compose up -d

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
DIUN:Docker镜像更新通知神器
https://blog.moewah.com/posts/5151/
作者
MoeWah
发布于
2022-10-24
许可协议
CC BY-NC-SA 4.0
相关文章 智能推荐
1
Watchtower 自动更新 Docker 镜像与容器
虚拟化与运维 如何实现 Docker 容器的自动更新?本文详解 Watchtower 工具的使用方法,解决手动更新容器耗时费力的问题,提供自动清除旧镜像和选择性更新的实战方案,助你高效管理 Docker 环境。
2
GhostVM:给 AI Agent 一个完整的 Mac,而不是容器!
虚拟化与运维 介绍 GhostVM——基于 Apple Virtualization.framework 的 macOS 虚拟机工具。支持近原生性能、自包含 bundle、秒级克隆,提供完整的 CLI (vmctl) 覆盖 GUI 功能,适合 AI agent 隔离环境和多项目开发者。
3
纳瓦尔的人生智慧:关于财富、幸福与自由的 18 条原则
认知与成长 硅谷投资人纳瓦尔·拉维坎特的人生洞见浓缩:从财富创造、幸福修炼到心智模型,18 条可执行原则帮你在长期主义中找到自由。
4
AI搜索吃掉一半流量?2026 你必须调整的内容推广方法
增长与SEO 2026年AI搜索覆盖48%查询,传统社群转发式推广失效。梳理五个按意图优先级排列的分发渠道——GEO优化、Reddit投放、战略合作、员工倡导、直接外联——附带推广时间线和内容再创作框架。
5
有了 tmux 还需要 herdr 吗?一个给 AI Agent 用的「终端管家」
AI实验室 herdr 是一个终端原生的 Agent 多路复用器,专为同时运行多个 AI Agent 的开发者设计。它解决了 Agent 管理混乱、会话丢失、远程协作等痛点,不替换终端、不依赖 Electron。本文从实际使用体验出发,带你了解它的核心功能和上手方法。
随机文章 随机推荐

评论区

Profile Image of the Author
MoeWah
Hello, I'm MoeWah.
专题文章
分类
站点统计
文章
198
分类
9
标签
434
总字数
373,761
运行时长
0
最后活动
0 天前

目录