docker-installer-2604-v1.sh erstellen
script zum installieren der Docker-Umgebung
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
#!/bin/bash
|
||||
# Script Name: docker-installer-2604-v1.sh
|
||||
# Beschreibung: Docker & Docker-Compose Installer für Ubuntu 24.04 und Ubuntu 26.04
|
||||
# Autor: Thomas Werner Schwaighofer
|
||||
# Web: https://www.retronerd.at
|
||||
# Git-Reposit.: https://git.retronerd.at/schiwagoa/public-docker-installer-26.04-v1
|
||||
# Version: 1.0
|
||||
# Datum: 2026.0603
|
||||
#####################################################
|
||||
|
||||
set -e
|
||||
|
||||
# Konfiguration
|
||||
USER="root"
|
||||
COMPOSEVERSION="v5.1.4"
|
||||
DOCKER_ROOT_DIR="/var/lib/docker"
|
||||
COMPOSE_DIR="/home/docker-projekte"
|
||||
|
||||
# Betriebssystem und Version prüfen
|
||||
OS=$(lsb_release -is)
|
||||
VERSION=$(lsb_release -rs)
|
||||
|
||||
if [ "$OS" != "Ubuntu" ] || { [ "$VERSION" != "24.04" ] && [ "$VERSION" != "26.04" ]; }; then
|
||||
echo "Dieses Script unterstützt nur Ubuntu 24.04 und Ubuntu 26.04. Installation abgebrochen."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Ubuntu $VERSION erkannt."
|
||||
|
||||
# Voraussetzungen installieren
|
||||
apt update
|
||||
apt install -y \
|
||||
ca-certificates \
|
||||
curl \
|
||||
gnupg \
|
||||
lsb-release \
|
||||
apt-transport-https
|
||||
|
||||
# Docker Repository einrichten
|
||||
install -m 0755 -d /etc/apt/keyrings
|
||||
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
|
||||
| gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||
|
||||
chmod a+r /etc/apt/keyrings/docker.gpg
|
||||
|
||||
echo \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
|
||||
> /etc/apt/sources.list.d/docker.list
|
||||
|
||||
# Docker installieren
|
||||
apt update
|
||||
|
||||
apt install -y \
|
||||
docker-ce \
|
||||
docker-ce-cli \
|
||||
containerd.io
|
||||
|
||||
# Benutzer zur Docker-Gruppe hinzufügen
|
||||
usermod -aG docker "$USER"
|
||||
|
||||
# Docker stoppen
|
||||
systemctl stop docker || true
|
||||
|
||||
# Docker-Root-Verzeichnis anpassen
|
||||
mkdir -p "$DOCKER_ROOT_DIR"
|
||||
|
||||
if [ "$DOCKER_ROOT_DIR" != "/var/lib/docker" ]; then
|
||||
|
||||
if [ -d /var/lib/docker ]; then
|
||||
rsync -aHAX /var/lib/docker/ "$DOCKER_ROOT_DIR/"
|
||||
fi
|
||||
|
||||
mkdir -p /etc/docker
|
||||
|
||||
cat > /etc/docker/daemon.json << EOF
|
||||
{
|
||||
"data-root": "$DOCKER_ROOT_DIR"
|
||||
}
|
||||
EOF
|
||||
|
||||
fi
|
||||
|
||||
# Docker starten
|
||||
systemctl start docker
|
||||
systemctl enable docker
|
||||
|
||||
# Compose-Verzeichnis erstellen
|
||||
mkdir -p "$COMPOSE_DIR"
|
||||
|
||||
# Docker Compose installieren
|
||||
curl -L \
|
||||
"https://github.com/docker/compose/releases/download/${COMPOSEVERSION}/docker-compose-$(uname -s)-$(uname -m)" \
|
||||
-o /usr/local/bin/docker-compose
|
||||
|
||||
chmod +x /usr/local/bin/docker-compose
|
||||
|
||||
# Installation prüfen
|
||||
echo
|
||||
echo "===== Installierte Versionen ====="
|
||||
docker --version
|
||||
docker-compose --version
|
||||
|
||||
echo
|
||||
echo "===== Verzeichnisse ====="
|
||||
echo "Docker Root : $DOCKER_ROOT_DIR"
|
||||
echo "Compose Dir : $COMPOSE_DIR"
|
||||
|
||||
echo
|
||||
echo "Installation erfolgreich abgeschlossen."
|
||||
echo "Falls Docker erstmals verwendet wird, bitte neu anmelden."
|
||||
exit 0
|
||||
Reference in New Issue
Block a user