Page cover

Watchtower

Watchtower est un outil puissant qui automatise la mise à jour des conteneurs Docker en surveillant les nouvelles versions d'images et en redémarrant automatiquement les conteneurs

Qu'est-ce que Watchtower ?

Watchtower est un outil conçu pour automatiser la surveillance et mettre à jour automatiquement les conteneurs Docker en fonction des nouvelles versions des images Docker

Il élimine le besoin de surveiller manuellement les mises à jour des images et de redémarrer les conteneurs, offrant ainsi une solution pratique et efficace pour maintenir vos environnements Docker à jour

Avec Watchtower, vous pouvez configurer divers paramètres pour personnaliser son comportement, tels que la fréquence des vérifications de mise à jour, le nettoyage des anciennes images, et l'intégration avec une API HTTP pour des métriques et des actions sécurisées.

Installation

l'installation de base peut se faire via Docker ou Docker Compose.

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

Configuration

La configuration de Watchtower peut être personnalisée pour répondre aux besoins spécifiques.

Cela permet par exemple de rajouter des variables d'environnement comme:

Nom
Argument
Environment Variable
Description

N/A

TZ

Définit le fuseau horaire

--cleanup

WATCHTOWER_CLEANUP

Supprime les anciennes images après la mise à jour.

--include-restarting

WATCHTOWER_INCLUDE_RESTARTING

Inclut les conteneurs en cours de redémarrage dans la surveillance.

--http-api-metrics

WATCHTOWER_HTTP_API_METRICS

Active la mise à disposition des métriques

--interval

WATCHTOWER_POLL_INTERVAL

Définit l'intervalle d'exécution

--schedule

WATCHTOWER_SCHEDULE

Définit une date d'exécution

--http-api-token

WATCHTOWER_HTTP_API_TOKEN

Token pour sécuriser l'API HTTP.

--label-enable

WATCHTOWER_LABEL_ENABLE

Surveilla que les containers avec le label activé

ce qui peut nous donner comme configuration

docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
-e TZ="Europe/Paris" \
--cleanup true \
--include-restarting true \
--http-api-metrics true \
--interval 86400 #24h \
--http-api-token token \
--label-enable true \
--restart=unless-stopped

Le port 8080 permet d'exposer l'API HTTP de Watchtower.

Mis à jour