PassNAT LogoPassNAT

Docker镜像监控神器Diun自动更新通知,NAS一键部署教程。帕斯内网穿透远程管理,再也不错过重要更新!

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

Diun(Docker Image Update Notifier)是一个用 Go 语言编写的 CLI 应用程序,专门用于监控 Docker 镜像更新并发送通知。当 Docker 注册表中的镜像有新版本时,Diun 会自动检测并通过多种方式通知用户,让你第一时间了解容器镜像的更新情况。

这个工具特别适合运维人员和开发者使用,可以帮助你及时了解正在使用的 Docker 镜像是否有安全更新或功能更新,确保系统的安全性和稳定性。Diun 支持多种通知方式,包括邮件、Telegram、Slack、Webhook 等,并且可以监控多种容器编排平台,如 Docker、Kubernetes、Swarm 等。

项目具有以下特色功能:

- 支持监控 Docker 仓库并报告新标签 - 内置定时任务,可自定义检查频率 - 支持正则表达式过滤标签 - 多种通知方式:Gotify、邮件、Slack、Telegram 等 - 支持 Docker、Kubernetes、Swarm、Nomad 等多种容器平台 - 工作池并行分析,提高效率 - 健康检查支持

项目地址:点我跳转

部署安装

如需在外也打开项目需要配置内网穿透使用,点击前往 帕斯内网穿透,先注册好账号备用。

--- 下面是 docker-compose 的模版

复制下列的配置文件

1name: diun
2
3services:
4 diun:
5 image: crazymax/diun:latest
6 command: serve
7 volumes:
8 - "./data:/data"
9 - "/var/run/docker.sock:/var/run/docker.sock"
10 environment:
11 - "TZ=Asia/Shanghai"
12 - "DIUN_WATCH_WORKERS=20"
13 - "DIUN_WATCH_SCHEDULE=0 */6 * * *"
14 - "DIUN_WATCH_JITTER=30s"
15 - "DIUN_PROVIDERS_DOCKER=true"
16 labels:
17 - "diun.enable=true"
18 restart: always

打开飞牛 NAS 或其他的 NAS 设备

项目名称可以随便填,点击创建 docker-compose.yml

点击 Compose -> 新建项目

这里的配置文件已经是开箱即用的,主要参数说明:

- DIUN_WATCH_SCHEDULE=0 */6 * * *:每6小时检查一次镜像更新 - DIUN_WATCH_WORKERS=20:并发工作线程数 - DIUN_PROVIDERS_DOCKER=true:启用 Docker 提供者

如果需要配置通知功能,可以添加相应的环境变量,比如 Telegram 通知:

1DIUN_NOTIF_TELEGRAM_TOKEN=你的机器人token
2DIUN_NOTIF_TELEGRAM_CHATIDS=你的聊天ID

--- 下面是 docker 的模版

打开飞牛 NAS 或其他的 NAS 设备 点击本地镜像-添加镜像-从 URL 添加。这一步先添加 docker 镜像

镜像填 crazymax/diun:latest 等待下载完成后点击启动按钮启动容器

勾选开机自动启动后下一步,端口设置这里。Diun 是一个后台服务,不需要映射端口,如果需要健康检查可以映射 8080 端口。

存储位置这里,需要创建一个文件夹映射到 /data 目录用于存储数据库文件,同时需要映射 Docker socket:

- 容器路径:/data -> 本地路径:/你的路径/diun/data - 容器路径:/var/run/docker.sock -> 本地路径:/var/run/docker.sock

环境变量设置:必须设置

- TZ:时区设置,建议设置为 Asia/Shanghai - DIUN_PROVIDERS_DOCKER:启用 Docker 提供者,设置为 true

选择设置,可以不填:

- DIUN_WATCH_SCHEDULE:检查计划,默认 0 */6 * * *(每6小时) - DIUN_WATCH_WORKERS:工作线程数,默认 20 - DIUN_WATCH_JITTER:随机延迟,默认 30s

通知相关环境变量(可选):

- DIUN_NOTIF_TELEGRAM_TOKEN:Telegram 机器人 Token - DIUN_NOTIF_TELEGRAM_CHATIDS:Telegram 聊天 ID

其他的都不用填写,直接下一步启动就好了。

创建成功后 Diun 会在后台运行,开始监控你的 Docker 镜像更新情况。你可以通过查看容器日志来确认运行状态。

穿透公网

由于 Diun 是一个后台监控服务,通常不需要通过公网访问。如果需要远程管理或查看日志,可以通过以下方式配置内网穿透:

打开帕斯内网穿透控制台,点击隧道管理-隧道列表

点击创建新隧道

隧道节点可以随便选,一般选个负载低的就可以

接下来填写信息,隧道名称可以随便填写

本地 IP 默认就可以

传输协议可以选择 TCP 也可以选择 HTTP/HTTPS

如果你启用了健康检查端口(8080),可以映射该端口用于远程监控

本地端口填 8080(如果你映射了健康检查端口)

远程端口可以留空也可以自定义

填写完毕点击确定

点击刚才创建好的隧道,点击获取配置文件

回到飞牛 NAS,点击应用中心下载 frpc 客户端

打开后粘贴刚才复制的配置文件,点击确定即可

复制帕斯内网穿透控制台的访问 IP 和端口

可以看到已经正常穿透成功了

本篇教程结束