#!/bin/bash CONFIG_FILE="/etc/docker/daemon.json" SYSTEMD_DIR="/etc/systemd/system/docker.service.d" SYSTEMD_FILE="$SYSTEMD_DIR/docker.conf" HOST_IP=$(hostname -I | awk '{print $1}') echo "Überprüfe, ob $CONFIG_FILE existiert..." if [ ! -f "$CONFIG_FILE" ]; then echo "Datei existiert nicht. Erstelle $CONFIG_FILE..." cat < $CONFIG_FILE { "data-root": "/var/lib/docker", "hosts": ["unix:///var/run/docker.sock", "tcp://$HOST_IP:2375"] } EOF echo "$CONFIG_FILE wurde erstellt." else echo "$CONFIG_FILE existiert bereits. Passe den Inhalt an..." jq '. + {"data-root": "/var/lib/docker", "hosts": (if .hosts then (.hosts + ["tcp://$HOST_IP:2375"] | unique) else ["unix:///var/run/docker.sock", "tcp://$HOST_IP:2375"] end)}' $CONFIG_FILE > /tmp/daemon.json && mv /tmp/daemon.json $CONFIG_FILE echo "$CONFIG_FILE wurde angepasst." fi echo "Überprüfe, ob $SYSTEMD_FILE existiert..." if [ ! -f "$SYSTEMD_FILE" ]; then echo "Datei existiert nicht. Erstelle $SYSTEMD_FILE..." mkdir -p "$SYSTEMD_DIR" cat < $SYSTEMD_FILE [Service] ExecStart= ExecStart=/usr/bin/dockerd EOF echo "$SYSTEMD_FILE wurde erstellt." else echo "$SYSTEMD_FILE existiert bereits. Überprüfe den Inhalt..." if ! grep -q "ExecStart=/usr/bin/dockerd" "$SYSTEMD_FILE"; then echo "Inhalt unvollständig. Ergänze erforderliche Zeilen..." echo -e "[Service]\nExecStart=\nExecStart=/usr/bin/dockerd" >> "$SYSTEMD_FILE" echo "$SYSTEMD_FILE wurde aktualisiert." else echo "$SYSTEMD_FILE enthält bereits die notwendigen Einstellungen. Keine Änderungen erforderlich." fi fi # Systemd neu laden echo "Lade Systemd-Daemon neu..." systemctl daemon-reload # Docker-Dienst neu starten echo "Starte Docker neu..." service docker restart # Status von Docker überprüfen echo "Prüfe den Status von Docker..." systemctl status docker --no-pager