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.