Über Docker
Docker ist eine Container-Engine: Sie verpackt eine Anwendung samt Abhängigkeiten in ein Image und führt sie isoliert auf dem Kernel des Hosts aus. Entwickler nutzen Docker, um lokal und in Produktion dieselbe Umgebung zu haben. Kleine Teams betreiben damit mehrere Dienste auf einer einzigen Maschine, ohne dass sich deren Abhängigkeiten in die Quere kommen.
Bei der Lieferung enthält Ihr Linux-VPS (Debian 12, Debian 13, Ubuntu 22.04 oder 24.04 sowie Ubuntu 20.04 mit den unten genannten Einschränkungen) die Docker Engine, installiert aus dem offiziellen apt-Repository von Docker. Die Pakete docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin und docker-compose-plugin sind vorhanden, die Dienste docker und containerd starten beim Booten automatisch.
Der Signaturschlüssel des Repositorys wird vor der Installation anhand seines Fingerprints geprüft. Am Ende des Rezepts läuft ein hello-world-Container, der bestätigt, dass der Daemon antwortet. Danach gehört der Server Ihnen: Standardmäßig wird kein Benutzer zur Gruppe docker hinzugefügt, und es wird keine Anwendung für Sie bereitgestellt.
Was Sie mit Docker tun können
Offizielles apt-Repository von Docker
Die Pakete stammen von download.docker.com, der Fingerprint des Signaturschlüssels wird geprüft. Updates laufen über apt, wie beim Rest des Systems.
Compose und Buildx enthalten
Das Compose-Plugin rufen Sie mit
docker compose(ohne Bindestrich) auf, Buildx dient zum Bauen Ihrer Images. Einen Multi-Service-Stack können Sie schon bei der ersten Verbindung ausrollen.Log-Rotation vorkonfiguriert
Existiert
/etc/docker/daemon.jsonnoch nicht, schreibt das Rezept die Datei mit dem Treiberjson-file, 10 MB pro Datei und 3 aufbewahrten Dateien. Container-Logs füllen so nicht unbemerkt die Platte.Konfliktpakete werden entfernt
Inoffizielle Pakete wie
docker.io,podman-docker,containerdoderruncwerden vor der Installation entfernt. Das verhindert gemischte Versionen, an denen der Daemon scheitern kann.Root-äquivalenter Zugriff bleibt bei Ihnen
Kein Konto wird der Gruppe
dockerhinzugefügt, die einem Root-Zugang gleichkommt. Sie entscheiden, wer dieses Privileg erhält.Nachvollziehbares Installationsprotokoll
Jeder Schritt wird in
/var/log/docker-install.logprotokolliert, und die Datei/var/lib/docker-install.donebestätigt, dass das Rezept vollständig durchgelaufen ist.
Erste Schritte mit Docker
Von der Bestellung bis zum Produktivbetrieb in wenigen Minuten.
- 1
Bestellen Sie den VPS mit Docker
Wählen Sie einen Linux-VPS in Paris oder Frankfurt, dann Debian 12, Debian 13, Ubuntu 22.04 oder 24.04, und setzen Sie im Reiter „Applications“ des Bestellformulars das Häkchen bei Docker.
- 2
Verbinden Sie sich und prüfen Sie die Installation
Melden Sie sich nach der Lieferung per SSH mit den erhaltenen Zugangsdaten an. Die Installation läuft beim ersten Start: Existiert die Marker-Datei noch nicht, warten Sie kurz und verfolgen das Log.
Bashssh USER@SERVER_IP cat /var/lib/docker-install.done tail -n 20 /var/log/docker-install.log - 3
Starten Sie den ersten Container
Prüfen Sie die Versionen und starten Sie dann einen Test-Webserver. Der Port wird nur auf 127.0.0.1 veröffentlicht und ist damit während Ihrer Tests nicht aus dem Internet erreichbar.
Bashdocker --version && docker compose version docker run -d --name web -p 127.0.0.1:8080:80 nginx curl -I http://127.0.0.1:8080 - 4
Sichern Sie den Server für die Produktion ab
Setzen Sie einen Reverse-Proxy (Caddy, Traefik oder Nginx) vor Ihre Dienste, der YOUR_DOMAIN über HTTPS ausliefert, und veröffentlichen Sie im Internet nur die Ports 80 und 443. Lassen Sie alle anderen Ports auf 127.0.0.1, denn von Docker veröffentlichte Ports umgehen ufw. Sichern Sie schließlich Ihre Volumes und Compose-Dateien.
Bashdocker volume ls docker compose up -d
Einsatzbereiche von Docker
Mehrere isolierte Dienste betreiben
Eine PostgreSQL-Datenbank, eine Webanwendung und ein Monitoring-Tool laufen jeweils im eigenen Container und sind in einer einzigen
compose.yamlbeschrieben. Sie aktualisieren oder starten sie unabhängig voneinander neu.Selbst gehostete Anwendung bereitstellen
Viele Open-Source-Projekte (n8n, Nextcloud, Gitea, Uptime Kuma …) liefern ein Docker-Image und ein Compose-Beispiel. Der VPS ist ohne weitere Vorbereitung bereit dafür.
Images bauen und testen
Mit Buildx bauen Sie Ihre Images auf einer dedizierten Remote-Maschine, ohne Ihren Arbeitsrechner zu belasten. Das eignet sich für eine schlanke CI-Kette oder für Integrationstests.
Produktion in der Staging-Umgebung nachbilden
Ein zweiter VPS mit derselben Docker-Version und denselben Compose-Dateien liefert Ihnen eine Abnahmeumgebung, die der Produktion nahekommt, bei geringem Administrationsaufwand.
Häufige Fragen zu Docker
Das Rezept installiert docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin und docker-compose-plugin aus dem offiziellen apt-Repository von Docker. Die Dienste docker und containerd starten beim Booten automatisch. Mit Compose v2 lautet der Befehl docker compose, nicht docker-compose.
Mehr über Docker
Firewall und veröffentlichte Ports
Das ist die häufigste Falle. Wenn Sie einen Port mit -p 8080:80 veröffentlichen, schreibt Docker eigene iptables-Regeln, und der Datenverkehr wird vor den Regeln von ufw oder firewalld verarbeitet. Ein ufw deny 8080 verhindert deshalb nichts.
Es gibt zwei verlässliche Wege: den Port an die lokale Schnittstelle binden (-p 127.0.0.1:8080:80) und den Dienst über einen Reverse-Proxy bereitstellen, oder in der Kette DOCKER-USER filtern, die Docker vor seinen eigenen Regeln auswertet. Der erste Weg ist einfacher und reicht in den meisten Fällen aus.
Gruppe docker und sudo
Die Mitgliedschaft in der Gruppe docker entspricht Root-Rechten auf dem Rechner, denn ein Container kann das Dateisystem des Hosts einbinden. Das Rezept fügt niemanden zu dieser Gruppe hinzu. Wenn Sie mit einem unprivilegierten Konto arbeiten möchten, fügen Sie es selbst hinzu und melden Sie sich anschließend neu an.
Bashsudo usermod -aG docker USER
Container-Logs
Die bei der Lieferung geschriebene Datei /etc/docker/daemon.json begrenzt jeden Container auf 3 Dateien mit je 10 MB. Sie wird nur angelegt, wenn sie nicht bereits existierte. Um diese Werte zu ändern, bearbeiten Sie die Datei und starten den Daemon neu. Die neuen Einstellungen gelten nur für Container, die nach dem Neustart erstellt werden.
Bashsudo systemctl restart docker
Updates
Das Docker-Repository ist in /etc/apt/sources.list.d/docker.sources eingetragen. Neue Versionen kommen daher mit den üblichen apt-Updates. Planen Sie diese für einen Zeitpunkt, zu dem ein Neustart des Daemons vertretbar ist, denn er kann Ihre Container unterbrechen, wenn die Option live-restore nicht aktiviert ist.
Bashsudo apt update && sudo apt install --only-upgrade docker-ce docker-ce-cli containerd.io
Ubuntu 20.04
Docker unterstützt Ubuntu 20.04 offiziell nicht mehr. Das Rezept versucht die Installation dennoch, sofern das Docker-Repository diese Version noch anbietet, und schreibt eine Warnung ins Log. Für einen Produktionsserver sind Ubuntu 22.04, Ubuntu 24.04, Debian 12 oder Debian 13 vorzuziehen, die alle unterstützt werden.
Backups
Images lassen sich erneut herunterladen, Ihre Daten nicht. Sichern Sie benannte Volumes, eingebundene Verzeichnisse und Ihre compose.yaml-Dateien samt Umgebungsvariablen. Bei einer Datenbank ist ein logischer Export (pg_dump, mysqldump) einer Kopie des laufenden Volumes vorzuziehen.
