Installation von Docker

Installiere die neuste Version von Docker auf deinem Server.

Linux SH Utilities v1.0.0
Script Code
#!/usr/bin/env bash
set -e

# Farben für Ausgaben
GREEN="\033[0;32m"
RED="\033[0;31m"
NC="\033[0m" # No Color

echo -e "${GREEN}--- Docker Installationsscript ---${NC}"

# Prüfen ob Root
if [ "$EUID" -ne 0 ]; then
  echo -e "${RED}Bitte als root oder mit sudo ausführen.${NC}"
  exit 1
fi

# Prüfen ob Docker bereits installiert ist
if command -v docker >/dev/null 2>&1; then
  echo -e "${GREEN}Docker ist bereits installiert: $(docker --version)${NC}"
  exit 0
fi

# OS erkennen
if [ -f /etc/os-release ]; then
  . /etc/os-release
  OS=$ID
  VERSION=$VERSION_ID
else
  echo -e "${RED}Kann Betriebssystem nicht erkennen.${NC}"
  exit 1
fi

echo -e "${GREEN}Gefundenes OS: $OS $VERSION${NC}"

case "$OS" in
  ubuntu|debian)
    apt-get update -y
    apt-get install -y ca-certificates curl gnupg lsb-release
    mkdir -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/$OS/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/$OS \
      $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
    apt-get update -y
    apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    ;;
  raspbian)
    apt-get update -y
    apt-get install -y ca-certificates curl gnupg lsb-release
    curl -fsSL https://get.docker.com | sh
    ;;
  centos|rhel)
    yum install -y yum-utils
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    systemctl enable docker
    ;;
  fedora)
    dnf -y install dnf-plugins-core
    dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
    dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    systemctl enable docker
    ;;
  *)
    echo -e "${RED}Betriebssystem $OS wird nicht automatisch unterstützt.${NC}"
    echo "Bitte manuell installieren: https://docs.docker.com/engine/install/"
    exit 1
    ;;
esac

# Docker starten
systemctl start docker || true

# Benutzer zur docker Gruppe hinzufügen
if id "$SUDO_USER" >/dev/null 2>&1; then
  usermod -aG docker "$SUDO_USER"
  echo -e "${GREEN}Benutzer $SUDO_USER wurde zur Docker-Gruppe hinzugefügt.${NC}"
  echo "Bitte abmelden und neu anmelden, damit die Gruppe aktiv wird."
fi

echo -e "${GREEN}Docker erfolgreich installiert! Version: $(docker --version)${NC}"
Tags
docker
Details
Ersteller
Florian Linde
Veröffentlicht
27.8.2025
Downloads
3
Dateigröße
2.6 KB