Repolode
mag37

mag37/dockcheck

基于 Bash 的命令行工具,检查 Docker 容器的镜像更新,可交互或无人值守地升级,并支持通知、镜像备份和自动清理。

可替代:Watchtower

Star
2,543
Fork
96
未关闭 Issue
9
最近提交
24天前

这是什么?

dockcheck 是一个 Shell 脚本,会将正在运行的 Docker 容器所用镜像与镜像仓库对比,列出有新版本的容器。你可以交互式选择要更新的容器,也可以通过 cron 无人值守运行,并用包含、排除或标签等条件筛选目标。

除基础的更新检查外,它还能为旧镜像保留重新打标签的备份以便回滚,更新后清理悬空镜像,并通过 ntfy、Gotify、Telegram、Slack、Discord、Home Assistant、Apprise 等渠道发送通知。它也支持 Docker Compose 项目和 Prometheus 指标导出,并可以只检查而不拉取更新。

运行需要 Bash 4.3 或更高版本、jq 和 regctl,主要面向家庭实验室等 Docker 主机场景。项目本身不支持 Podman,相关需求可使用其分支。

核心功能

  • 01交互式选择或完全无人值守地更新 Docker 容器
  • 02支持按包含、排除和标签筛选容器
  • 03保留重新打标签的镜像备份,便于回滚并按天数清理
  • 04支持 ntfy、Telegram、Slack、Home Assistant 等多种通知渠道
  • 05支持 Docker Compose,可选容器化部署
  • 06通过 node_exporter 文本收集器导出 Prometheus 指标

适用场景

  • 在家庭实验室中按计划更新自托管的 Docker 服务
  • 只接收容器更新通知,不自动应用更新
  • 更新出错后将容器回滚到之前的镜像
  • 通过 Prometheus 或 Zabbix 监控待处理的镜像更新

快速上手

  1. 1

    使用 curl 将脚本下载到 ~/.local/bin

    curl -L https://raw.githubusercontent.com/mag37/dockcheck/main/dockcheck.sh -o ~/.local/bin/dockcheck.sh
  2. 2

    赋予脚本可执行权限

    chmod +x ~/.local/bin/dockcheck.sh
  3. 3

    运行脚本检查容器更新

    dockcheck.sh

使用前须知

  • 需要 Bash 4.3 或更高版本、jq,以及正在运行的 Docker 和 compose。
  • 基于 Bash 编写,只能在类 Linux 的 Shell 环境中运行;Podman 需使用单独的分支。

收录于专题

标签

常见问题

dockcheck 是什么?
基于 Bash 的命令行工具,检查 Docker 容器的镜像更新,可交互或无人值守地升级,并支持通知、镜像备份和自动清理。 dockcheck 是一个 Shell 脚本,会将正在运行的 Docker 容器所用镜像与镜像仓库对比,列出有新版本的容器。你可以交互式选择要更新的容器,也可以通过 cron 无人值守运行,并用包含、排除或标签等条件筛选目标。
dockcheck 可以免费使用吗?用的什么许可证?
dockcheck 以 GPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
dockcheck 还在维护吗?
活跃维护中。dockcheck 最近一次提交是在 2026年10月14日。
dockcheck 适合用来做什么?
在家庭实验室中按计划更新自托管的 Docker 服务 只接收容器更新通知,不自动应用更新 更新出错后将容器回滚到之前的镜像 通过 Prometheus 或 Zabbix 监控待处理的镜像更新
dockcheck 怎么安装和运行?
使用 curl 将脚本下载到 ~/.local/bin: curl -L https://raw.githubusercontent.com/mag37/dockcheck/main/dockcheck.sh -o ~/.local/bin/dockcheck.sh 赋予脚本可执行权限: chmod +x ~/.local/bin/dockcheck.sh 运行脚本检查容器更新: dockcheck.sh
在哪里获取 dockcheck?
源代码和安装说明在 GitHub 上:https://github.com/mag37/dockcheck

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目

一款自托管工具,监控 Docker、Swarm、Kubernetes、Compose 和 Nomad 中的容器,发现新镜像版本并发送通知或自动更新。

DevOps 与云#docker#container-updates#kubernetes
4191+55 本周163TypeScriptMIT维护活跃更新于 16小时前