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/watchtowerversion: "3"
services:
watchtower:
image: containrrr/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sockConfiguration
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:
--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
--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-stoppedversion: '3.8'
services:
watchtower:
container_name: watchtower
image: containrrr/watchtower:latest
restart: unless-stopped
ports:
- "8080:8080"
environment:
TZ: Europe/Paris
WATCHTOWER_CLEANUP: true
WATCHTOWER_INCLUDE_RESTARTING: true
WATCHTOWER_HTTP_API_METRICS: true
WATCHTOWER_HTTP_API_TOKEN: token
WATCHTOWER_LABEL_ENABLE: true
WATCHTOWER_POLL_INTERVAL: 86400 #24h
volumes:
- /var/run/docker.sock:/var/run/docker.sock
labels:
- com.centurylinklabs.watchtower.enable=trueMis à jour