# Watchtower docker

**URL:** <https://383.su/t/watchtower-docker/271>\
**Category:** Софт\
**Tags:** гайд\
**Created:** [04.Апрель.2024 20:45:37 UTC](https://383.su/t/watchtower-docker/271 "2024-04-04T20:45:37Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![cyb3r](https://383.su/user_avatar/383.su/cyb3r/32/1273_2.png) [@cyb3r](https://383.su/u/cyb3r)\
**Post date:** [04.Апрель.2024 20:45:37 UTC](https://383.su/t/watchtower-docker/271/1 "2024-04-04T20:45:37Z")

</div>

Originally published at: [Watchtower docker — cyb3r](https://cyb3r.su/watchtower-docker/)

## Введение

В данной небольшой заметке разберем такую полезную утилиту как [Watchtower](https://containrrr.dev/watchtower/).

Watchtower – это удобный инструмент, который поможет автоматически обновлять ваши Docker контейнеры, следя за изменениями в реестре Docker Hub, вам не придется тратить время на ручное обновление каждого контейнера, Watchtower с легкостью выполнит эту задачу за вас.

 ![](https://383.su/uploads/default/original/2X/2/275bbd004b4e232ed492107531153eb455e023da.jpeg)
* * *

## Установка Watchtower с помощью Docker

Для установки Watchtower как не странно нам понадобится сам Docker.

### 1. Простой вариант установки, без уведомлений в Telegram

```
docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower
```

* * *

### 2. Вариант установки с уведомлениями в Telegram

Создаем нашего бота в Telegram получаем его токен, узнаем id нашего чата и подставляем в команды ниже:

```
docker run -d --name watchtower \ -e WATCHTOWER_LIFECYCLE_HOOKS=1 \ -e WATCHTOWER_NOTIFICATIONS=shoutrrr \ -e WATCHTOWER_NOTIFICATION_URL=telegram://ТОКЕН_ВАШЕГО_БОТА@telegram/?channels=ID_ВАШЕГО_ЧАТА \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower
```

Готово, теперь Watchtower будет отслеживать тег **“latest”** в реестре Docker Hub и автоматически обновлять ваш контейнер, когда он станет устаревшим. Это позволит вам всегда использовать самую свежую версию контейнера без необходимости проверять и обновлять его вручную.

## Установка с помощью Docker-Compose

Я чаще использую этот вариант, в нем будет обновление каждое воскресенье в 20:00 с последующей отчисткой старых docker image и отправка отчета в Telegram, замените токен и id чата на свои, создадим директорию и сам docker-compose.yml:

```
mkdir -p /app/watchtower
cd /app/watchtower/
nano docker-compose.yml
```

```auto
version: '3.3'

services:
  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    restart: unless-stopped
    volumes:
      - '/var/run/docker.sock:/var/run/docker.sock'
    environment:
      - TZ=Europe/Moscow
      - WATCHTOWER_LIFECYCLE_HOOKS=True
      - WATCHTOWER_NOTIFICATIONS=shoutrrr
      - WATCHTOWER_NOTIFICATION_URL=telegram://ТОКЕН_ВАШЕГО_БОТА@telegram/?channels=ID_ВАШЕГО_ЧАТА
      - WATCHTOWER_DEBUG=true
      - WATCHTOWER_CLEANUP=true
      - WATCHTOWER_SCHEDULE=0 0 23 * * 0

```

```
docker compose up -d
```

Как только процесс успешно завершится, мы получим уведомление через Telegram от нашего бота о выполнении первой проверки, на скриншоте пример вывода в чат от Watchtower:

 ![](https://383.su/uploads/default/original/2X/6/6b375aa73acdb62dad6244d338a6758833b7ccae.jpeg)
* * *

## Вывод

Watchtower представляет собой удобный и простой инструмент, который автоматически обновляет ваши контейнеры Docker. Это помогает вам избежать необходимости вручную обновлять каждый контейнер и поддерживать вашу инфраструктуру в актуальном состоянии. Установка и использование Watchtower занимают всего несколько минут, что значительно упрощает работу с Docker и экономит ваше время.
