56 lines
1.9 KiB
Bash
56 lines
1.9 KiB
Bash
#!/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
|