docker-install.sh hinzugefügt
This commit is contained in:
@@ -0,0 +1,84 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Docker + Docker Compose Plugin Installer for Debian/Ubuntu
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
|
||||||
|
if [[ "${EUID}" -ne 0 ]]; then
|
||||||
|
echo "Bitte als root oder mit sudo ausführen."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "==> Prüfe Betriebssystem ..."
|
||||||
|
if [[ ! -f /etc/os-release ]]; then
|
||||||
|
echo "Fehler: /etc/os-release nicht gefunden."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC1091
|
||||||
|
source /etc/os-release
|
||||||
|
|
||||||
|
if [[ "${ID}" != "ubuntu" && "${ID}" != "debian" ]]; then
|
||||||
|
echo "Dieses Skript unterstützt nur Debian und Ubuntu."
|
||||||
|
echo "Erkanntes System: ${ID}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
ARCH="$(dpkg --print-architecture)"
|
||||||
|
KEYRING_DIR="/etc/apt/keyrings"
|
||||||
|
DOCKER_GPG="${KEYRING_DIR}/docker.asc"
|
||||||
|
REPO_FILE="/etc/apt/sources.list.d/docker.list"
|
||||||
|
|
||||||
|
echo "==> Installiere Basis-Pakete ..."
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y ca-certificates curl gnupg lsb-release
|
||||||
|
|
||||||
|
echo "==> Erstelle Keyring-Verzeichnis ..."
|
||||||
|
install -m 0755 -d "${KEYRING_DIR}"
|
||||||
|
|
||||||
|
echo "==> Lade Docker GPG-Key ..."
|
||||||
|
curl -fsSL "https://download.docker.com/linux/${ID}/gpg" -o "${DOCKER_GPG}"
|
||||||
|
chmod a+r "${DOCKER_GPG}"
|
||||||
|
|
||||||
|
echo "==> Konfiguriere Docker APT-Repository ..."
|
||||||
|
echo \
|
||||||
|
"deb [arch=${ARCH} signed-by=${DOCKER_GPG}] https://download.docker.com/linux/${ID} \
|
||||||
|
${VERSION_CODENAME} stable" | tee "${REPO_FILE}" > /dev/null
|
||||||
|
|
||||||
|
echo "==> Aktualisiere Paketquellen ..."
|
||||||
|
apt-get update
|
||||||
|
|
||||||
|
echo "==> Installiere Docker Engine, CLI, Containerd und Compose Plugin ..."
|
||||||
|
apt-get install -y \
|
||||||
|
docker-ce \
|
||||||
|
docker-ce-cli \
|
||||||
|
containerd.io \
|
||||||
|
docker-buildx-plugin \
|
||||||
|
docker-compose-plugin
|
||||||
|
|
||||||
|
echo "==> Aktiviere und starte Docker-Dienst ..."
|
||||||
|
systemctl enable docker
|
||||||
|
systemctl restart docker
|
||||||
|
|
||||||
|
# Optional: Benutzer zur docker-Gruppe hinzufügen, falls per sudo gestartet
|
||||||
|
if [[ -n "${SUDO_USER:-}" && "${SUDO_USER}" != "root" ]]; then
|
||||||
|
echo "==> Füge Benutzer '${SUDO_USER}' zur docker-Gruppe hinzu ..."
|
||||||
|
usermod -aG docker "${SUDO_USER}" || true
|
||||||
|
echo "HINWEIS: Damit Gruppenrechte greifen, bitte einmal ab- und wieder anmelden."
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "==> Installation abgeschlossen."
|
||||||
|
echo
|
||||||
|
echo "Installierte Versionen:"
|
||||||
|
docker --version || true
|
||||||
|
docker compose version || true
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Teste Docker ..."
|
||||||
|
docker run --rm hello-world || true
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Fertig."
|
||||||
|
echo "Verwendung von Compose:"
|
||||||
|
echo " docker compose up -d"
|
||||||
Reference in New Issue
Block a user