Blog

Tutorials, Anleitungen und Produktneuigkeiten.

Entwickler

Was ist Docker und wie nutzen Sie es auf einem VPS?

3 November 2026 6 Min. Lesezeit
Diesen Beitrag teilen

Docker ist ein Werkzeug, das eine Anwendung samt allem, was sie braucht, in einem isolierten Paket namens Container ausführt. Auf einem VPS bedeutet Docker, dass Sie eine App aus einem fertigen Paket starten, statt sie Stück für Stück auf dem Server zu installieren. Einrichten und Entfernen dauern ein paar Befehle, und die Apps stören die Einstellungen der anderen nicht.

Anders als eine virtuelle Maschine bringt ein Container kein eigenes Betriebssystem mit. Er teilt sich den Kernel des Servers, startet also in Sekunden und braucht wenig Arbeitsspeicher. Der Preis dafür ist, dass seine Isolierung nicht so stark ist wie die einer virtuellen Maschine.

Vier Begriffe genügen für den Anfang

BegriffWas er bedeutet
ImageDas fertige Paket einer Anwendung. Es wird aus einer Registry wie Docker Hub heruntergeladen.
ContainerEine laufende Kopie, die aus einem Image gestartet wurde.
VolumeDauerhafter Speicher, der Ihre Daten auch dann behält, wenn der Container gelöscht wird.
ComposeEin Werkzeug, das mehrere Container in einer Datei compose.yaml definiert und mit einem einzigen Befehl verwaltet.

Wird ein Container gelöscht, werden die Dateien darin gelöscht. Binden Sie alles, was erhalten bleiben muss, etwa eine Datenbank, an ein Volume oder einen Ordner des Servers.

Wie installieren Sie Docker unter Ubuntu?

Verbinden Sie sich zuerst per SSH mit dem Server. Das Paket docker.io aus den Ubuntu-Repositories funktioniert, und der vorinstallierte Docker-Server von Seturack nutzt es. Für die neueste Version verwenden Sie das eigene apt-Repository von Docker. Laut der offiziellen Dokumentation von Docker stehen Ubuntu-Pakete wie docker.io und docker-compose im Konflikt mit den eigenen Paketen von Docker, entfernen Sie sie also zuerst, falls sie installiert sind.

  1. Folgen Sie dem Abschnitt „apt repository“ auf der Ubuntu-Installationsseite von Docker, um den Signaturschlüssel und die Quelle des Repositorys hinzuzufügen. Führen Sie die Befehle von dort unverändert aus, denn sie ändern sich zwischen den Versionen.
  2. Installieren Sie die Pakete: sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  3. Prüfen Sie, ob der Dienst läuft: sudo systemctl status docker
  4. Führen Sie den Testcontainer aus: sudo docker run --rm hello-world

Sehen Sie die Willkommensmeldung, ist Docker bereit. Unter Ubuntu und Debian startet der Dienst bei jedem Systemstart von selbst.

Ihr erster Container

Starten Sie einen Webserver mit einem einzigen Befehl:

docker run -d --name web --restart unless-stopped -p 80:80 nginx:1.30

-d führt den Container im Hintergrund aus. --restart unless-stopped startet ihn neu, wenn der Server neu startet oder der Container abstürzt. -p 80:80 verbindet Port 80 des Servers mit dem Container. nginx:1.30 ist der Name des Images mit Versions-Tag. Das Tag ist nur ein Beispiel, wählen Sie also das aktuelle stabile Tag auf der offiziellen Nginx-Seite bei Docker Hub. Öffnen Sie die IP-Adresse des Servers im Browser, und Sie sehen die Nginx-Willkommensseite. Zum Entfernen führen Sie docker rm -f web aus.

Binden Sie für dauerhafte Daten ein Volume ein, zum Beispiel -v sitedata:/usr/share/nginx/html. Volumes listen Sie mit docker volume ls auf. Dienste in derselben Datei compose.yaml erreichen sich über den Dienstnamen, Ihre Anwendung verbindet sich mit der Datenbank also zum Beispiel als db.

Haben Sie mehrere Container, legen Sie sie alle in eine Datei compose.yaml und führen im Ordner der Datei docker compose up -d aus. Die Schlüssel image, restart, ports und volumes in der Datei entsprechen den Optionen oben. Den Zustand prüfen Sie mit docker compose ps, Protokolle lesen Sie mit docker compose logs -f, und mit docker compose down fahren Sie alles herunter.

Befehle, die Sie täglich nutzen

BefehlWozu es dient
docker psListet laufende Container auf. Mit -a sehen Sie auch gestoppte.
docker logs -f webVerfolgt das Protokoll des Containers web live.
docker exec -it web shÖffnet eine Shell im Container.
docker statsZeigt CPU- und Speichernutzung der Container.
docker compose pull und docker compose up -dLädt das neue Image herunter und ersetzt den Container durch den neuen. Daten in Volumes bleiben erhalten.

Lesen Sie vor einem Update die Versionshinweise der App und erhöhen Sie das Versions-Tag in der Compose-Datei selbst. Der Sinn des festen Tags ist, dass ein Update eine Entscheidung wird und kein Zufall.

Vier Dinge, auf die Sie achten sollten

  • Docker umgeht ufw-Regeln. Laut der offiziellen Dokumentation werden Ports, die Docker veröffentlicht, geöffnet, bevor die Regeln von ufw greifen. Eine ufw-Regel, die einen solchen Port verbietet, bleibt wirkungslos. Binden Sie einen Dienst, der von außen nicht erreichbar sein darf, nur an die lokale Adresse, zum Beispiel -p 127.0.0.1:5432:5432. Container im selben Docker-Netzwerk erreichen sich ohnehin, Sie müssen eine Datenbank also nicht veröffentlichen.
  • Das Tag latest. Geben Sie kein Tag an, wird latest geladen. Beim nächsten Pull kann Ihre App auf eine Version springen, die Sie nicht erwartet haben. Schreiben Sie ein bestimmtes Tag und planen Sie Updates selbst.
  • Die Gruppe docker bedeutet root. Wer zur Gruppe docker hinzugefügt wird, erhält Rechte auf Root-Niveau (offizielle Dokumentation). Fügen Sie nur Konten hinzu, denen Sie vertrauen.
  • Protokolle und Images füllen die Festplatte. Die Standardeinstellung für Docker-Protokolle hat keine Größengrenze. Setzen Sie eine am Container: --log-opt max-size=10m --log-opt max-file=3. docker system df zeigt die Festplattennutzung, und docker image prune entfernt Images ohne Tag.

Docker oder direkte Installation?

Docker hilft, wenn Sie auf einem Server mehrere Apps betreiben, die verschiedene Versionen brauchen, wenn Sie eine App ausprobieren und sauber wieder entfernen möchten oder wenn der Entwickler ein offizielles Image veröffentlicht. Für einen einfachen Fall wie eine einzelne WordPress-Website ist auch eine direkte Installation in Ordnung. Docker ist eine zusätzliche Schicht: Sie zu aktualisieren, zu überwachen und die Volumes zu sichern ist Ihre Aufgabe. Sind Sie unsicher, beginnen Sie mit einer kleinen Anwendung. Sie müssen nicht alles auf einmal zu Docker umziehen.

Docker kommt bei Seturack fertig

Wenn Sie Docker nicht selbst installieren möchten, können Sie einen Server mit der Docker-App bestellen. Docker und Compose sind installiert, und die Einrichtung dauert etwa 2,5 Minuten. Die Firewall (ufw) ist eingeschaltet und nur der SSH-Port ist nach außen offen, fail2ban schützt SSH, und die Container-Protokolle sind auf 3 Dateien zu je 10 MB pro Container begrenzt. Die App hat keine Weboberfläche, daher zeigt das Panel keine Website-Adresse. Die Port-Falle von oben gilt auch hier. Um mit einem fertigen Server zu beginnen, sehen Sie sich die Seite zum Docker-VPS an.

Fertig eingerichtet bei Seturack: Portainer, Coolify, Dokploy.

Kommentare0

Noch keine Kommentare

Schreiben Sie den ersten Kommentar und teilen Sie Ihre Gedanken.

Diskutieren Sie mit

Bitte melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen.

Keinen Beitrag verpassen

Erhalten Sie unsere neuesten Tutorials, Anleitungen und Produktneuigkeiten direkt in Ihr Postfach.

Sie haben unseren Newsletter abonniert.