Ein Healthcheck in Docker-Compose kann definiert werden, indem du den healthcheck Abschnitt in der Docker Compose-Datei hinzufügst. Hier ist ein Beispiel für einen Healthcheck für einen Home Assistant Docker-Container:
version: '3.7' services: homeassistant: image: homeassistant/home-assistant:latest container_name: homeassistant environment: - TZ=Europe/Berlin volumes: - ./config:/config ports: - 8123:8123 healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8123"] interval: 30s timeout: 5s retries: 5
Dieser Healthcheck testet die Verfügbarkeit von Home Assistant auf Port 8123, indem es eine CURL-Anfrage an die URL http://localhost:8123 sendet. Wenn die Anfrage erfolgreich ist, wird angenommen, dass Home Assistant gesund ist, andernfalls wird angenommen, dass Home Assistant nicht gesund ist. Der Healthcheck wird alle 30 Sekunden ausgeführt und erwartet eine Antwort innerhalb von 5 Sekunden. Wenn keine Antwort innerhalb von 5 Sekunden empfangen wird, wird der Healthcheck als fehlgeschlagen angesehen.
Hier ist ein Beispiel für einen Healthcheck für eine MariaDB-Datenbank in Docker Compose:
version: '3.7' services: db: image: mariadb:10.5 container_name: mariadb environment: MYSQL_ROOT_PASSWORD: secretpassword volumes: - ./data:/var/lib/mysql ports: - 3306:3306 healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] interval: 30s timeout: 5s retries: 5
Dieser Healthcheck testet, ob die MariaDB-Datenbank läuft, indem es einen mysqladmin ping-Befehl an die Datenbank sendet. Wenn die Datenbank erfolgreich auf den Ping antwortet, wird angenommen, dass sie gesund ist, andernfalls wird angenommen, dass sie nicht gesund ist. Der Healthcheck wird alle 30 Sekunden ausgeführt und erwartet eine Antwort innerhalb von 5 Sekunden. Wenn keine Antwort innerhalb von 5 Sekunden empfangen wird, wird der Healthcheck als fehlgeschlagen angesehen.
Kommentare
Kommentar veröffentlichen