Verpassen Sie nicht die zeitlich begrenzten Angebote!
search

Docker-Spickzettel für Entwickler

Docker-Spickzettel für Entwickler

Docker ist ein Containerisierungstool, mit dem sich Anwendungen und Dienste in isolierten Umgebungen bereitstellen, konfigurieren und betreiben lassen. Für die Verwaltung der Docker-Plattform selbst sowie der darin ausgeführten Container, Images und Services stehen unterschiedliche Docker-Befehle zur Verfügung.

Abhängig vom jeweiligen Einsatzzweck lassen sich Docker-Befehle in mehrere funktionale Kategorien gliedern:

  • Build-Befehle: Erstellen von Docker-Images auf Basis eines Dockerfiles.
  • Cleanup-Befehle: Entfernen nicht mehr benötigter Images, Container, Netzwerke oder Volumes zur Freigabe von Speicherplatz.
  • Befehle zur Container-Interaktion: Starten, Stoppen, Überwachen und Steuern von Containern sowie die Interaktion mit laufenden Instanzen.
  • Befehle zur Container-Inspektion: Analysieren und Überprüfen detaillierter Informationen zu Containern, etwa Konfigurationen, Status oder Logs.
  • Befehle zur Image-Verwaltung: Auflisten, Herunterladen, Löschen und Organisieren von Docker-Images.
  • Container-Management-Befehle: Erstellen und Starten von Containern aus Images sowie Anpassen der Laufzeitparameter.
  • Registry-Befehle: Interagieren mit Image-Registries wie Docker Hub, beispielsweise zum Pushen oder Pullen von Images.
  • Service-Befehle: Verwalten von Docker-Services, vorrangig im Kontext von Docker Swarm.
  • Netzwerkbefehle: Konfigurieren, Verwalten und Analysieren von Docker-Netzwerken sowie deren Verbindungen.

Im weiteren Verlauf werden alle Kategorien im Detail behandelt. Dabei werden die wichtigsten Befehle, ihre gängigen Optionen sowie typische Anwendungsfälle erläutert. Am Ende steht ein kompakter Docker-Spickzettel zum Download bereit, mit dem sich bei Bedarf schnell nachschlagen lässt, welcher Befehl für welche Aufgabe geeignet ist.

Build-Befehle

Build-Befehle werden in Docker verwendet, um Images auf Basis eines Dockerfiles zu erstellen. Abhängig von der Quelle des Dockerfiles oder der gewünschten Konfiguration stehen verschiedene Varianten dieses Befehls zur Verfügung. Zu den gängigsten zählen die folgenden:

BefehlErläuterung
docker buildErstellt ein Image aus dem Dockerfile im aktuellen Verzeichnis
docker build https://github.com/docker/rootfs.git#container:dockerErstellt ein Image aus einem entfernten Git-Repository
docker build -t imagename/tagErstellt ein Image und versieht es mit einem Tag zur besseren Identifikation
docker build https://yourserver/file.tar.gzErstellt ein Image aus einem entfernten TAR-Archiv
docker build -t image:1.0 -<<EOF FROM busybox RUN echo "hello world"EOFErstellt ein Image aus einer Dockerfile, die über STDIN (Standardeingabe) übergeben wird

Cleanup-Befehle

Cleanup-Befehle dienen dazu, nicht mehr benötigte Docker-Ressourcen zu entfernen, Speicherplatz freizugeben und das System übersichtlich zu halten. Dazu zählen ungenutzte Images, Container, Volumes und Netzwerke. Die folgenden Befehle decken die wichtigsten Bereinigungsaufgaben ab:

BefehlErläuterung
docker image pruneLöscht „dangling“ Images (nicht getaggte Images ohne Referenz)
docker image prune -aEntfernt alle Images, die aktuell von keinem Container verwendet werden
docker system pruneLöscht gestoppte Container, ungenutzte Netzwerke, dangling Images und den Build-Cache
docker image rm image-nameEntfernt ein bestimmtes Image anhand seines Namens oder seiner ID
docker rm containerLöscht einen gestoppten Container
docker swarm leaveVerlässt einen Docker-Swarm
docker stack rm stacknameEntfernt einen Stack aus einem Docker-Swarm
docker volume rm $(docker volume ls -f dangling=true -q)Löscht alle nicht mehr verwendeten („dangling“) Volumes
docker rm $(docker ps -a -q)Entfernt alle gestoppten Container
docker kill $(docker ps -q)Erzwingt das Beenden aller laufenden Container

Container-Interaktionsbefehle

Container-Interaktionsbefehle werden verwendet, um Anwendungen zu steuern und zu verwalten, die in isolierten Container-Umgebungen ausgeführt werden. Zu den am häufigsten genutzten Befehlen gehören:

BefehlErläuterung
docker start containerStartet einen Container
docker stop containerStoppt einen Container
docker pause containerPausiert einen Container
docker unpause containerHebt die Pause eines Containers auf
docker restart containerStartet einen Container neu
docker export containerExportiert den Inhalt eines Containers in ein TAR-Archiv
docker attach containerVerbindet sich mit einem laufenden Container
docker wait containerWartet, bis der Container beendet wird, und gibt den Exit-Code aus
docker commit -m “commit message” -a "author" container username/image_name: tagSpeichert einen laufenden Container als Image
docker logs -ft containerVerfolgt die Logs eines Containers in Echtzeit
docker exec -ti container script.shFührt einen Befehl innerhalb eines Containers aus
docker commit container imageErstellt ein neues Image aus einem Container
docker create imageErstellt einen neuen Container aus einem Image

Container-Inspektionsbefehle

Container-Inspektionsbefehle sind hilfreich, um Details isolierter Umgebungen zu überprüfen. Sie werden typischerweise für Qualitätssicherung, Analyse oder Fehlerbehebung eingesetzt. Die folgenden Befehle geben einen Überblick darüber, was einzelne Container tun:

CommandExplanation
docker psListet alle laufenden Container auf
docker ps -aListet alle Container auf, unabhängig von ihrem Status
docker diff containerZeigt Änderungen an Dateien und Verzeichnissen im Container-Dateisystem an
docker top containerZeigt alle laufenden Prozesse eines Containers an
docker inspect containerGibt Low-Level-Informationen zu einem Container aus
docker logs containerRuft die Logs eines Containers ab
docker stats containerZeigt Statistiken zur Ressourcennutzung eines Containers an

Befehle zur Image-Verwaltung

Mit den Befehlen zur Image-Verwaltung können Docker-Images bearbeitet und analysiert werden, die als Grundlage für Container dienen. Zu den gebräuchlichsten Befehlen gehören:

BefehlErläuterung
docker image lsListet alle Images auf
docker image rm mysqlEntfernt ein Image
docker tagVersehen eines Images mit einem Tag
docker history imageZeigt die Historie eines Images an
docker inspect imageGibt Low-Level-Informationen zu einem Image aus

Run-Befehl

Der Docker-Befehl run wird verwendet, um Container aus vorhandenen Images zu erstellen und auszuführen. Die grundlegende Syntax lautet:

docker run (options) image (command) (arg...)

Mit zusätzlichen Flags kann das Verhalten des Containers gesteuert und konfiguriert werden. Zu den wichtigsten Optionen gehören:

FlagErläuterung
--detach , -dFührt den Container im Hintergrund aus und gibt die Container-ID aus
--env , -eSetzt Umgebungsvariablen für den Container
--hostname , -hWeist dem Container einen spezifischen Hostnamen zu
--label , -lErstellt Metadaten-Labels für den Container
--nameVergibt einen eindeutigen Namen für den Container
--networkVerbindet den Container mit einem bestimmten Docker-Netzwerk
--rmEntfernt den Container automatisch, sobald er beendet wird
--read-onlySetzt das Dateisystem des Containers auf schreibgeschützt
--workdir , -wLegt das Arbeitsverzeichnis innerhalb des Containers fest

Registry-Befehle

Mit Docker-Registry-Befehlen wird mit Remote-Image-Registries interagiert, etwa mit dem offiziellen Docker Hub oder einer selbst gehosteten Registry auf einem privaten Server:

BefehlErläuterung
docker loginMeldet sich bei einer Registry an
docker logoutMeldet sich von einer Registry ab
docker pull mysqlRuft ein Image aus einer Registry ab
docker push repo/rhel-httpd:latestÜberträgt ein Image in eine Registry
docker search termDurchsucht Docker Hub nach Images mit dem angegebenen Begriff

Service-Befehle

Service-Befehle werden verwendet, um Docker-Swarm-Services zu verwalten, zur Verwaltung von Docker-Swarm-Services im Kontext einer größeren Anwendung. Dazu gehören:

BefehlErläuterung
docker service lsListet alle Services auf, die in einem Swarm ausgeführt werden
docker stack services stacknameListet alle laufenden Services eines Stacks auf
docker service ps servicenameListet die Aufgaben eines Services auf
docker service update servicenameAktualisiert einen Service
docker service create imageErstellt einen neuen Service
docker service scale servicename=10Skaliert einen oder mehrere replizierte Services
docker service logs servicenameListet die Logs eines Services auf

Netzwerkbefehle

Netzwerkbefehle werden verwendet, um das Netzwerk einer Docker-Anwendung zu verwalten. Sie definieren, wie Container miteinander und mit externen Systemen kommunizieren. Zu den häufigsten Befehlen gehören:

BefehlErläuterung
docker network create network-nameErstellt ein neues Netzwerk
docker network rm network-nameEntfernt ein angegebenes Netzwerk
docker network lsListet alle Netzwerke auf
docker network connect network-name containerVerbindet einen Container mit einem Netzwerk
docker network disconnect network-name containerTrennt einen Container von einem Netzwerk
docker network inspect network-nameZeigt detaillierte Informationen zu einem Netzwerk an

Grundlegendes zur Verwendung von Docker

Die in diesem Spickzettel aufgeführten Befehle werden verwendet, um mit verschiedenen Entitäten im Docker-Ökosystem zu interagieren, insbesondere mit Server, Client, Containern, Images und Registries.

Wenn Sie neu mit Docker arbeiten, empfiehlt es sich, zunächst das Ausführen und Inspizieren von Containern zu üben (Docker Run, Docker PS, Docker Logs, Docker Exec) und anschließend mit der Erstellung von Images fortzufahren (Docker Build, Docker Tag, Docker Push). Erweiterte Netzwerk- und Swarm-Befehle werden nur für bestimmte Einsatzszenarien benötigt.

Um diese Konzepte im Detail zu erlernen und ihr Zusammenspiel mit den einzelnen Befehlen besser zu verstehen, lesen Sie unser Docker-Tutorial.

Da es schwierig sein kann, sich alle Befehle zu merken, steht weiter unten ein herunterladbarer Docker-Spickzettel zur Verfügung. Dieser kann heruntergeladen und ausgedruckt werden, um bei der Arbeit mit der Container-Plattform eine praktische Referenz zu haben.

Kostenlosen Docker-Spickzettel herunterladen (Englisch)

Alle Tutorial-Inhalte auf dieser Website unterliegen Hostingers strengen redaktionellen Standards und Normen.

Author
Erstellt von

Faradilla Ayunindya

Faradilla, auch bekannt als Ninda, ist Content Marketing Specialist bei Hostinger und verfügt über mehr als fünf Jahre Erfahrung im Content Marketing sowie einen zehnjährigen Hintergrund als Linguistin. Ihr Ziel ist es, Technologie zugänglich zu machen, indem sie komplexe Themen in verständliche und praxisnahe Anleitungen übersetzt. Wenn sie sich nicht gerade mit den neuesten Trends aus den Bereichen Technologie und digitales Marketing beschäftigt, interessiert sie sich für Biowissenschaften oder schaut gerne lustige Tiervideos. Vernetzen Sie sich mit ihr auf LinkedIn.

Was unsere Kunden sagen

Kommentar schreiben

Please fill the required fields.Bitte akzeptieren Sie die Datenschutzklausel.Bitte füllen Sie die erforderlichen Felder aus und akzeptieren Sie die Datenschutzklausel.

Thank you! Your comment has been successfully submitted. It will be approved within the next 24 hours.