Dockhand - Docker-Container-Lifecycle automatisieren
Dockhand - Docker-Container-Lifecycle automatisieren
Dockhand ist ein Automatisierungstool für Docker, das Container anhand von Regeln und Zeitplänen automatisch startet, stoppt und aktualisiert.
Was ist Dockhand?
Dockhand ermöglicht die regelbasierte Automatisierung von Docker-Container-Lebenszyklen. Typische Anwendungsfälle sind das automatische Neustartetn von Containern nach Image-Updates, das zeitgesteuerte Herunterfahren ressourcenintensiver Container außerhalb der Nutzungszeiten oder das Reagieren auf externe Trigger. Dockhand liest seine Konfiguration aus einer YAML-Datei und überwacht kontinuierlich den Zustand der definierten Container. Im Vergleich zu Watchtower bietet Dockhand feinere Kontrolle über Zeitpläne und Bedingungen für automatische Aktionen.
Voraussetzungen
- Docker 20.10+ / Docker Compose
- Zugriff auf den Docker-Socket
- Konfigurationsdatei mit definierten Regeln und Zeitplänen
Compose-Beispiel
services:
dockhand:
image: boxboat/dockhand:latest
container_name: dockhand
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./dockhand.yaml:/etc/dockhand/dockhand.yaml:ro
environment:
- TZ=Europe/Berlin
- LOG_LEVEL=info
Hinweise
- Die
dockhand.yamldefiniert Profile für Container-Gruppen – z. B. alle Container mit einem bestimmten Label automatisch aktualisieren. - Automatische Updates sollten in produktiven Umgebungen erst nach einem Staging-Test ausgelöst werden; Dockhand unterstützt dafür mehrstufige Pipelines.
- Labels an Container anhängen (
dockhand.profile=production), um sie der richtigen Automatisierungsgruppe zuzuordnen. - Logs regelmäßig auf fehlgeschlagene Aktionen prüfen – bei Image-Pull-Fehlern bleibt der alte Container aktiv, was leicht übersehen wird.