Mit Docker betreiben Sie Datenbanken, Web-Apps und Tools in isolierten Containern, sodass die Installation von etwas Neuem nie den Rest Ihres Servers durcheinanderbringt. Diese Anleitung installiert Docker Engine und Docker Compose unter Ubuntu und startet einen ersten echten Dienst.
1. Aus dem Docker-Repository installieren
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Prüfen Sie die Installation mit sudo docker run hello-world.
2. Docker ohne sudo ausführen
sudo usermod -aG docker $USER
newgrp docker
Mitglieder der Gruppe docker haben auf dem Rechner faktisch Root-Rechte, fügen Sie deshalb nur Benutzer hinzu, denen Sie vertrauen.
3. Ihre erste Compose-Datei
Legen Sie einen Ordner und eine compose.yaml an, die das Monitoring-Tool Uptime Kuma ausführt:
mkdir -p ~/kuma && cd ~/kuma
cat > compose.yaml <<'EOF'
services:
kuma:
image: louislam/uptime-kuma:1
restart: unless-stopped
ports:
- "127.0.0.1:3001:3001"
volumes:
- ./data:/app/data
EOF
docker compose up -d
Die Bindung an 127.0.0.1 hält den Port aus dem öffentlichen Internet heraus. Schalten Sie einen Reverse-Proxy wie Nginx oder Caddy davor, wenn Sie von außen darauf zugreifen möchten.
Alltägliche Befehle
docker pslistet laufende Container auf.docker compose logs -fverfolgt die Logs.docker compose pull && docker compose up -daktualisiert auf neuere Images.docker system pruneentfernt ungenutzte Images und gestoppte Container.
Ein Sicherheitshinweis zu Firewalls
Docker schreibt eigene iptables-Regeln. Ein als "8080:80" veröffentlichter Port kann aus dem Internet erreichbar sein, selbst wenn UFW ihn als blockiert anzeigt. Veröffentlichen Sie nur, was öffentlich sein muss, binden Sie private Dienste an 127.0.0.1 und testen Sie von außen mit einem Portscanner.
Was als Nächstes laufen kann
Beliebte selbst gehostete Apps sind Nextcloud, Vaultwarden, Gitea, Plausible, n8n und Jellyfin. Ein vollständiges Beispiel finden Sie in unserer Anleitung zum Selbsthosten von Nextcloud.