Um die Docker quasi immer aktuell zu halten, eignet sich watchtower von github.com.
Mit watchtower können Sie die laufende Version Ihrer containerisierten Anwendung aktualisieren, indem Sie einfach ein neues Image in den Docker Hub oder in Ihre eigene Image-Registrierung verschieben.
Watchtower zieht Ihr neues Image herunter, fährt Ihren vorhandenen Container ordnungsgemäß herunter und startet ihn mit denselben Optionen neu, die bei der ursprünglichen Bereitstellung verwendet wurden.
Wenn ein Update zur Verfügung steht, benachrichtigt Dich watchtower per eMail über den Status dem yaml Script.
Lege eine docker-compose.yaml mit folgendem Inhalt an:
watchtower:
image: containrrr/watchtower
container_name: watchtower
environment:
- WATCHTOWER_NOTIFICATIONS=email
- WATCHTOWER_NOTIFICATION_EMAIL_FROM=sender@example.com
- WATCHTOWER_NOTIFICATION_EMAIL_TO=empfaenger@example.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.host.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=sender@example.com
- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=password
- WATCHTOWER_NOTIFICATION_EMAIL_DELAY=2
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /root/.docker/config.json:/config.json
command: --interval 604800 --cleanup
logging:
driver: "json-file"
options:
max-size: "5m"
Der Wert 604800 bei „command: –interval 604800 –cleanup“ prüft alle 7 Tage nach einem neuen Image, dieser Wert kann beliebig geändert werden.