Автоматичний контроль оновлень Docker-контейнерів із Watchtower - UnixHost Blog

Автоматичний контроль оновлень Docker-контейнерів із Watchtower - UnixHost Blog

Watchtower – це інструмент для автоматичного оновлення контейнерів Docker на основі змін у реєстрі Docker Hub. Він дозволяє автоматично оновлювати ваші контейнери у фоновому режимі, усуваючи необхідність вручну оновлювати кожен контейнер вручну. У цій статті ми розглянемо, як встановити Watchtower і приклад його використання.

Для встановлення Watchtower необхідно виконати кілька простих кроків:

Ця команда завантажить образ Watchtower з Docker Hub і запустить його у фоновому режимі. Він стежитиме за змінами у вашому реєстрі Docker Hub і автоматично оновлюватиме ваші контейнери.

Після встановлення Watchtower ви можете використовувати його для автоматичного оновлення ваших контейнерів. Для цього необхідно запустити ваш контейнер з додатковим тегом “latest”. Наприклад, якщо ви запускаєте контейнер Nginx, то команда запуску матиме такий вигляд:

Watchtower стежитиме за тегом “latest” у реєстрі Docker Hub і оновлюватиме ваш контейнер, якщо він стане застарілим.

Ви також можете використовувати Watchtower для оновлення контейнерів з іншими тегами. Для цього ви можете вказати тег у команді запуску контейнера, наприклад:

Watchtower стежитиме за образом “myapp:1.0.0” у реєстрі Docker Hub і оновлюватиме ваш контейнер, якщо він стане застарілим.

Watchtower дає змогу надсилати повідомлення в месенджери під час оновлення контейнера. Повний список підтримуваних месенджерів доступний на офф сайті . У цій статті ми розберемо як налаштувати повідомлення для месенджера Telegram.

Для отримання повідомлень у Telegram від Watchtower нам необхідно буде створити бота й отримати ChatID каналу для надсилання сповіщень. Детальна інформація про створення бота доступна в докладній інструкції від Telegram .

Для отправки уведомлений в телеграм-канал необходимо получить chat_id канала. Для этого добавьте бота в ваш телеграм-канал и отправьте в канал любое сообщение. Затем перейдите по ссылке https://api.telegram.org/bot /getUpdates, заменив на токен вашего бота. Вы получите ответ от Telegram API, содержащий chat_id канала. Скопируйте его.

Для надсилання повідомлень у телеграм-канал необхідно отримати chat_id каналу. Для цього додайте бота у ваш телеграм-канал і надішліть у канал будь-яке повідомлення. Потім перейдіть за посиланням https://api.telegram.org/bot /getUpdates, замінивши на токен вашого бота. Ви отримаєте відповідь від Telegram API, що містить chat_id каналу. Скопіюйте її.

Подберите оптимальную конфигурацию VPS

Тепер налаштуйте Watchtower на надсилання повідомлень у ваш телеграм-канал. Для цього в команду встановлення Watchtower додамо змінні середовища, які відповідають за налаштування сповіщень

Якщо ж ви використовуєте docker-compose, то цей самий код матиме такий вигляд

Замените и на соответствующие значения, которые вы получили в предыдущих шагах.

Замініть та на відповідні значення, які ви отримали в попередніх кроках.

За замовчуванням Watchtower перевіряє контейнери з інтервалом у 24 години, щоб зменшити цей інтервал до 30 секунд, достатньо додати команду command: –interval 30

Тепер Watchtower надсилатиме повідомлення про процес оновлення контейнерів у ваш телеграм-канал. Якщо все налаштовано правильно, ви маєте побачити сповіщення в каналі під час оновлення контейнерів.

Приклад повідомлення, що надсилається

Як підсумок, Watchtower – це простий і зручний інструмент для автоматичного оновлення ваших контейнерів Docker. Він дозволяє уникнути необхідності вручну оновлювати кожен контейнер і зберегти вашу інфраструктуру в актуальному стані. Встановлення та використання Watchtower займає всього кілька хвилин і значно полегшує вашу роботу з Docker.

Recommended articles