dockcheck — Ваш личный дворецкий для Docker-обновлений

30 Apr, 2026

Знакомая ситуация: вы запускаете очередной docker-compose pull && docker-compose up -d, а потом сидите и скрещиваете пальцы, чтобы ничего не сломалось? Или того хуже – забываете об обновлениях, и ваши контейнеры начинают отставать, становясь потенциальной мишенью для уязвимостей. В мире Docker-контейнеров, где новые версии образов выходят чуть ли не ежедневно, ручное управление обновлениями быстро превращается в рутину, отнимающую время и нервы. Особенно это актуально для тех, кто держит свой небольшой хоумлаб или управляет десятками сервисов на одном сервере.

Обзор: Знакомьтесь, dockcheck – ваш новый помощник

Что ж, у меня для вас отличная новость! Я наткнулся на один очень интересный проект на GitHub, который может стать вашим спасением – это dockcheck. Представьте себе: инструмент командной строки, написанный на чистом Bash, который не просто проверяет наличие новых версий ваших Docker-образов, но и умеет их обновлять, делать бэкапы, уведомлять вас и даже автоматически чистить старые образы. Звучит как мечта, не правда ли?

dockcheck logo

dockcheck — это не просто скрипт, это целая философия автоматизации, которая позволяет вам взять под контроль процесс обновления, минимизируя риски и освобождая ваше время. Он идеально подойдет системным администраторам, DevOps-инженерам, а также всем, кто активно использует Docker Compose для развертывания своих приложений и устал от ручного труда.

Ключевые возможности: Что умеет этот скрипт?

1. Интерактивные и автоматические обновления: полный контроль или полная автономия

Одна из главных фишек dockcheck — это гибкость в подходе к обновлениям. Вы можете запустить его в интерактивном режиме, и он покажет вам список контейнеров, для которых доступны обновления:

dockcheck example gif

Вы выбираете нужные, и dockcheck сам позаботится об остальном. Это очень удобно, когда вы хотите быть в курсе событий, но не готовы отдавать все на откуп автоматике.

А если вы доверяете процессу и хотите, чтобы все работало само, просто добавьте флаг -y (или -a). dockcheck обновит все доступные контейнеры без лишних вопросов. Идеально для планировщика задач, например, cron.

2. Умные уведомления: будьте в курсе, где бы вы ни были

Забудьте о постоянных проверках вручную! dockcheck умеет отправлять уведомления о доступных обновлениях. И здесь его возможности поражают: от банальной почты до Telegram, Discord, Slack, Gotify, Home Assistant и даже Synology DSM. Просто укажите нужный канал в конфигурационном файле dockcheck.config, и вы всегда будете в курсе событий.

Кстати, есть даже функция "Snooze", которая не будет спамить вас повторными уведомлениями об одном и том же обновлении в течение заданного времени. Очень продуманно!

3. Бэкапы образов: страховка от неудачных обновлений

Боитесь, что новое обновление сломает ваш сервис? dockcheck предлагает элегантное решение – бэкапы образов. Перед тем как обновить образ, он создает его копию с уникальным тегом, включающим дату и время. Если что-то пойдет не так, вы сможете легко откатиться к предыдущей рабочей версии.

# Пример тега бэкапа
dockcheck/homer:2025-10-26_1132_latest

Вы сами определяете, сколько дней хранить бэкапы, а dockcheck автоматически удалит устаревшие. Это как иметь кнопку "отмена" для ваших Docker-обновлений – бесценно!

4. Гибкая настройка и оптимизация

Проект предлагает множество опций для тонкой настройки:

  • Исключение контейнеров: Флаг -e позволяет указать, какие контейнеры не нужно проверять или обновлять.
  • Работа с лейблами: Используйте Docker-лейблы в ваших docker-compose.yml файлах, чтобы dockcheck работал только с определенными группами контейнеров (флаг -l).
  • Асинхронные проверки: Опция -x N позволяет запускать до N параллельных процессов проверки, значительно ускоряя работу на больших стеках.
  • Очистка (Prune): После обновлений dockcheck может автоматически удалять неиспользуемые (dangling) образы, освобождая место на диске (флаг -p).
  • Задержка обновлений: Опция -d N позволяет обновлять образы, только если они старше N дней, что может быть полезно для стабилизации.

Технические детали: Простота и эффективность

Под капотом dockcheck — это чистый Bash-скрипт. Это означает, что он легкий, быстрый и не требует установки тяжелых зависимостей, кроме самого Docker (и Docker Compose), jq для парсинга JSON и regctl для работы с реестрами образов. Установка максимально проста: скачиваете скрипт, делаете его исполняемым, и готово!

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

Интересно, что разработчик предусмотрел даже обход ограничений Docker Hub на количество pulls, поскольку dockcheck сначала проверяет наличие обновлений, а не сразу тянет образы. Это экономит ваши лимиты.

Практическое применение: Где и как использовать?

Как же использовать dockcheck в реальной жизни?

  • Ежедневные/еженедельные проверки: Настройте cron для автоматической проверки и отправки уведомлений. Например, каждый день в 10 утра:
    0 10 * * * /home/user123/.local/bin/dockcheck.sh -nix 10 -e excluded_container1
    
    Здесь -n означает "только проверить, не обновлять", -i — отправить уведомление, -x 10 — использовать 10 параллельных процессов, -e excluded_container1 — исключить один контейнер.
  • Интеграция с системами мониторинга: dockcheck умеет экспортировать метрики в формате Prometheus, что позволяет вам отслеживать количество доступных обновлений через вашу любимую панель мониторинга. Есть даже готовые конфигурации для Zabbix!
  • Развертывание на Unraid: Для пользователей Unraid есть специальный скрипт-обертка, позволяющая использовать dockcheck как плагин User Scripts.
  • REST API: Сообщество даже создало Python-скрипт, который предоставляет REST API для получения списка обновлений, что открывает двери для интеграции с другими дашбордами, такими как homepage.

Выводы: Стоит ли попробовать?

Итак, что мы имеем? dockcheck — это не просто скрипт, это полноценный помощник для любого, кто работает с Docker. Он решает боль ручных обновлений, снижает риски поломок благодаря бэкапам, держит вас в курсе событий через гибкие уведомления и экономит ваше время.

Если вы устали от рутины, боитесь пропустить важные обновления или просто хотите сделать свою жизнь с Docker немного проще и безопаснее, я настоятельно рекомендую взглянуть на dockcheck. Это тот инструмент, который, однажды попробовав, вы уже не захотите отключать. Он привносит порядок в хаос обновлений и позволяет сосредоточиться на более важных задачах. Попробуйте, и, возможно, ваши Docker-сервисы скажут вам спасибо!