Überarbeitet am 8. September 2026.

Docker ist installiert – und jetzt? In diesem Teil geht es nicht mehr um die Installation, sondern um den Alltag mit einzelnen Containern. Ich zeige dir die Befehle, die ich selbst am häufigsten brauche: Container starten, anzeigen, Logs lesen, stoppen, neu starten und wieder entfernen.

Stand: September 2026. Wenn Docker bei dir noch nicht läuft, beginne zuerst mit meiner aktualisierten Anleitung Docker & Docker Compose unter Debian und Ubuntu installieren.

Was ist ein Docker-Container?

Ein Image ist vereinfacht gesagt die Vorlage einer Anwendung. Ein Container ist eine laufende oder gestoppte Instanz dieses Images. Anders als eine klassische virtuelle Maschine bringt ein Container kein komplettes eigenes Betriebssystem mit, sondern nutzt den Kernel des Hosts. Dadurch sind Container vergleichsweise leichtgewichtig.

Wichtig ist die Trennung zwischen Container und Daten: Dateien, die nur im beschreibbaren Container-Layer liegen, verschwinden beim Entfernen des Containers. Für wichtige Daten brauchst du deshalb Volumes oder Bind Mounts.

Einen ersten Container starten

Als Beispiel starten wir einen kleinen Nginx-Webserver:

docker run -d \
  --name mein-webserver \
  -p 127.0.0.1:8080:80 \
  nginx:alpine

Die wichtigsten Teile davon:

  • -d startet den Container im Hintergrund.
  • --name mein-webserver vergibt einen verständlichen Namen.
  • -p 127.0.0.1:8080:80 verbindet Port 8080 auf dem Host mit Port 80 im Container – aber nur auf localhost.
  • nginx:alpine ist das verwendete Image.

Auf dem Docker-Host kannst du den Webserver jetzt mit curl http://127.0.0.1:8080 testen.

Laufende und gestoppte Container anzeigen

Alle aktuell laufenden Container zeigt:

docker ps

Wenn du auch gestoppte Container sehen möchtest:

docker ps -a

In der Ausgabe findest du unter anderem Container-ID, Image, Status, Ports und den Namen. Gerade der Name ist praktisch, weil du ihn in fast allen weiteren Befehlen statt der langen ID verwenden kannst.

Logs ansehen

Wenn ein Container nicht das macht, was er soll, schaue ich fast immer zuerst in die Logs:

docker logs mein-webserver

Für eine laufende Ausgabe mit den letzten 50 Zeilen:

docker logs -f --tail 50 mein-webserver

Mit Strg+C beendest du die Live-Ansicht, ohne den Container zu stoppen.

Container stoppen, starten und neu starten

docker stop mein-webserver
docker start mein-webserver
docker restart mein-webserver

stop beendet den laufenden Container sauber. Mit start startest du denselben Container später wieder mit seiner bisherigen Konfiguration. restart ist praktisch, wenn ein Dienst einmal neu geladen werden soll.

Container genauer untersuchen

Mit docker inspect bekommst du sehr viele Details – etwa Netzwerke, Mounts, Umgebungsvariablen und die interne IP-Adresse:

docker inspect mein-webserver

CPU- und Arbeitsspeicherverbrauch kannst du live beobachten:

docker stats mein-webserver

Container entfernen

Einen gestoppten Container entfernst du mit:

docker rm mein-webserver

Falls du wirklich alle nicht mehr verwendeten, gestoppten Container bereinigen möchtest, gibt es dafür einen eigenen Befehl:

docker container prune

Docker fragt dabei noch einmal nach. Das ist deutlich besser als Befehle wie docker rm $(docker ps -aq) blind aus einer Anleitung zu kopieren – damit würdest du sehr schnell mehr löschen als beabsichtigt.

Daten nicht im Container vergessen

Ein wichtiger Punkt für Einsteiger: Der Container selbst sollte nicht der einzige Ort für wichtige Daten sein. Docker empfiehlt für persistente Container-Daten vor allem Volumes. Wenn du dagegen Dateien direkt auf dem Host bearbeiten oder sichern möchtest, sind Bind Mounts oft praktischer.

Ein Volume kannst du zum Beispiel so anlegen und anzeigen:

docker volume create meine-daten
docker volume ls
docker volume inspect meine-daten

Achtung bei veröffentlichten Ports

Bei einem Server im Internet würde ich nicht automatisch jeden Port mit -p 8080:80 auf allen Netzwerkinterfaces veröffentlichen. Für interne Dienste nutze ich lieber ausdrücklich 127.0.0.1:8080:80 und schalte einen Reverse Proxy davor. Docker weist außerdem darauf hin, dass veröffentlichte Ports Auswirkungen auf UFW- und firewalld-Regeln haben können.

Die wichtigsten Befehle auf einen Blick

docker ps
docker ps -a
docker logs CONTAINER
docker logs -f --tail 50 CONTAINER
docker stop CONTAINER
docker start CONTAINER
docker restart CONTAINER
docker inspect CONTAINER
docker stats CONTAINER
docker rm CONTAINER

Wenn du diese Befehle sicher beherrschst, hast du für den normalen Docker-Alltag schon eine gute Basis. Für mehrere zusammengehörige Dienste ist dann Docker Compose der sinnvollere nächste Schritt.

Weiterführend: Docker Container CLI und Docker Volumes.