This commit is contained in:
Sebastian Hanz 2025-02-17 17:56:00 +01:00
commit 6a8b9708fd
9 changed files with 320 additions and 0 deletions

View file

@ -0,0 +1,56 @@
#!/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 <<EOF > $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 <<EOF > $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