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