Docker ist eine Plattform, die Entwicklern hilft, containerisierte Anwendungen zu erstellen und einzusetzen. Sie hilft bei der Lösung von Kompatibilitätsproblemen mit Betriebssystemen, indem sie leichtgewichtige virtualisierte Umgebungen für die Verwaltung dieser Anwendungen bereitstellt.

Die primäre Befehlszeilenschnittstelle (CLI) von Docker bietet Entwicklern leistungsstarke Werkzeuge für die Arbeit mit Containern. Angefangen mit dem Basisbefehl docker unterstützt die CLI fast 60 Unterbefehle, von denen die meisten eine Reihe von Kommandozeilenargumenten akzeptieren, um verschiedene Aufgaben zu bewältigen.

Erste Schritte mit dem Docker CLI

Deine Docker-Umgebung kann die Open-Source Docker Engine oder die benutzerfreundliche GUI-Oberfläche von Docker Desktop sein. In einer Docker-Engine-Umgebung ist das CLI deine wichtigste Schnittstelle, aber du hast auch Zugriff auf das Kommandozeilen-Tool, wenn du Docker Desktop installierst.

Wir denken, dass auch Nutzer von Docker Desktop sich schnell in die CLI einarbeiten werden, wenn sie sich zumindest mit diesen 20 wichtigen docker Befehlen vertraut gemacht haben.

Docker-Befehle, die du kennen solltest

Lass uns herausfinden, welche Docker-Befehle du am besten kennen solltest.

1. docker system

Der Befehl docker system hilft dabei, die Docker-Umgebung zu überprüfen und zu verwalten. Er unterstützt Befehlszeilenargumente, mit denen du bestimmte Verwaltungsaufgaben durchführen kannst, z. B:

  • df zeigt an, wie du die Festplatte verwendest.
  • prune entfernt unbenutzte Netzwerke, Container, Images oder Volumes.
  • info zeigt systembezogene Informationen an.
  • events zeigt ein Protokoll der Systemereignisse in Echtzeit an.

Nachfolgend siehst du die erste Eingabeaufforderung nach der Ausführung von docker system prune.

Screenshot: der Befehl docker system prune
docker system prune Ausgabe

2. docker context

Mit diesem Befehl kannst du durch die verschiedenen Kontexte navigieren und sie konfigurieren. In Docker gehören zu den Kontexten Namen, Sicherheitsinformationen der Transportschicht, Endpunktkonfigurationen und Orchestratoren.

Einige der docker context Argumente:

  • ls zeigt die Details des Standardkontexts an.
  • inspect [CONTEXT} inspiziert einen angegebenen Kontext.
  • create [CONTEXT] erstellt einen neuen Kontext.
  • use [CONTEXT] wechselt zwischen Kontexten.

Im Folgenden siehst du ein Beispiel für die Ausgabe von docker context ls:

Screenshot: der Befehl docker context
docker context ls Ausgabe

3. docker pause und unpause

Der Befehl docker pause friert die aktiven Prozesse eines Containers ein. Um ihn auszuführen, musst du den Namen des Containers angeben, wie unten gezeigt:

docker pause [CONTAINER]

Im Folgenden siehst du ein Beispiel für die Ausgabe, die du nach dem Anhalten eines Containers erwarten kannst.

Screenshot: der Befehl docker pause
docker pause Ausgabe

Der Befehl docker unpause setzt angehaltene Containerprozesse wieder fort. Wie beim vorherigen Befehl musst du den Containernamen angeben, wie unten gezeigt:

docker unpause [CONTAINER]

Im Folgenden siehst du ein Beispiel für die Ausgabe, die du nach dem Aufheben der Pause eines Containers erwarten kannst.

Screenshot: der Befehl docker unpause
docker unpause Ausgabe

4. docker rm

Mit diesem Befehl werden Container, Volumes und Netzwerke entfernt. Er ermöglicht die Auswahl der zu entfernenden Komponente anhand ihrer Attribute. Du kannst zum Beispiel laufende Container oder alle angegebenen Container zwangsweise entfernen:

docker rm [CONTAINER] entfernt den Container, dessen Name angegeben ist. Die Ausgabe dieses Befehls ist in der folgenden Abbildung zu sehen.

Screenshot: der Befehl docker rm
docker rm Ausgabe

5. docker rmi

Mit diesem Befehl kannst du Images entfernen. Du kannst ein einzelnes Bild oder mehrere Bilder auf einmal entfernen. Du kannst das zu entfernende Image entweder mit der kurzen oder der langen ID beschreiben. Der Befehl ist wichtig, um den Host-Knoten sauber und effizient zu halten.

Der Befehl zum Entfernen von Bildern verwendet diese Struktur:

docker rmi [IMAGE ID]

Unten siehst du ein Beispiel für seine Ausgabe.

Screenshot: der Befehl docker rmi
docker rmi Ausgabe

6. docker volume

Mit diesem Befehl kannst du Volumes in Docker verwalten. Mit ihm kannst du Volumes erstellen, entfernen, auflisten und überprüfen.

Einige der docker volume Argumente sind:

  • create [OPTIONAL NAME] erstellt ein neues Volume. Du kannst den Namen des Volumes angeben oder Docker einen zufälligen Namen generieren lassen.
  • ls listet die verfügbaren Volumes auf.
  • inspect [NAME] zeigt detaillierte Volume-Informationen an.
  • rm [NAME] entfernt ein Volume aus Docker.

Unten siehst du ein Beispiel für die Ausgabe nach der Erstellung eines Volumes.

Screenshot: der Befehl docker volume create
docker volume create Ausgabe

7. docker search

Mit diesem Befehl kannst du nach Images aus Docker Hub suchen, die du dann als Container auf deinem Rechner ausführen kannst. Damit kannst du auf die Registry-Images von Docker Hub zugreifen, ohne die Website zu besuchen.

Der Befehl folgt dieser Struktur: docker search . Du kannst die Namen der Images, nach denen du suchst, angeben oder einen Filter erstellen.

Im Folgenden siehst du ein Beispiel für die Ausgabe der folgenden Abfrage:

docker search --filter is-official=true --filter stars=500 mysql
Screenshot: der Docker-Suchbefehl
docker search Ausgabe

8. docker push

Mit dem Befehl docker push kannst du deine Images in der Docker Hub Registry oder einem privaten Repository freigeben.

Die Struktur des Befehls ist:

docker push [OPTIONS] NAME[:TAG]

[OPTIONS] ermöglicht es dir, -disable-content-trust zu setzen.

Standardmäßig ist dieser Wert true und muss nicht angegeben werden.

NAME[:TAG] erfordert die Verwendung des Registry-Namens, des Repositorys und des Image-Tags.

Nachfolgend siehst du ein Beispiel für die Ausgabe von docker push.

Screenshot: der Befehl docker push
docker push Ausgabe

9. docker pull

Dieser Befehl lädt ein Docker-Image von einem Repository in einer privaten oder öffentlichen Registry herunter.

Der Befehl funktioniert wie folgt:

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

Mit diesem Befehl kannst du vorhandene Images verwenden, anstatt neue zu erstellen, wenn du eine containerisierte Anwendung erstellen musst.

Das folgende Beispiel zeigt die Ausgabe des Befehls docker pull:

Screenshot: der Docker-Pull-Befehl
docker pull Ausgabe

10. docker ps

Dieser Befehl zeigt standardmäßig die Liste aller laufenden Container an. Du kannst jedoch ein Flag hinzufügen, um Container nach Attributen wie Größe der Festplattennutzung, verknüpfte Container und Labels aufzulisten.

Der Befehl folgt der unten stehenden Struktur:

docker ps [OPTIONS]

Einige seiner Argumente sind:

  • -a zeigt eine Liste der laufenden und beendeten Container an
  • -s zeigt die Größe jedes Containers auf der Festplatte und die virtuelle Größe an

Du kannst die beiden zusammen wie folgt verwenden:

docker ps -as

Im Folgenden siehst du ein Beispiel für die Ausgabe des Befehls docker ps.

Screenshot: der Befehl docker process status
Ein Teil der Ausgabe des docker ps Befehls

11. docker tag

Mit diesem Tag fügst du deinem Image Metadaten, wie z.B. die Version, hinzu. Tags werden normalerweise bei der Erstellung eines Images erstellt, aber mit dem Befehl docker tag kannst du auch später ein Tag hinzufügen und so einen Alias für das Ziel-Image erstellen.

Dieser Befehl hat die folgende Struktur:

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

Im folgenden Beispiel listen wir Images mit dem Namen „redis“ auf. Nachdem wir das Bild mit einer Versionsnummer („2.0“) versehen haben, erscheinen der neue Alias und das ursprünglich getaggte Bild in der Liste.

Screenshot: der Befehl docker tag
docker tag Ausgabe

12. docker rename

Mit diesem Befehl kannst du einen Container umbenennen. Das ist nützlich, wenn du mehrere Container hast und sie nach ihrem Zweck unterscheiden willst.

Dieser Befehl folgt der folgenden Struktur:

docker rename [OLD_NAME] [NEW_NAME]

Unten siehst du ein Beispiel für die Ausgabe vor und nach einem docker rename Befehl.

Screenshot: der Docker-Befehl rename
docker rename Ausgabe

13. docker commit

Mit diesem Befehl kannst du nach Änderungen an den Dateien eines Containers neue Images erstellen. Das ist wichtig, denn so kannst du einen Container mit einer interaktiven Shell debuggen.

Dieser Befehl hat die folgende Struktur:

docker commit [CONTAINER_ID] [name-of-new-image]

Im Folgenden findest du ein Beispiel und eine Ausgabe des Befehls docker commit command.

Screenshot: der Docker Commit Befehl
docker commit Ausgabe

14. docker network

Dies ist ein Befehl zur Netzwerkverwaltung, mit dem du leistungsstarke Anwendungen erstellen kannst, indem du Dienste und Container miteinander verbindest.

Der Befehl hat die folgende Struktur:

docker network [OPTIONS]

Seine Argumente sind:

  • connect zum Verbinden von Containern mit Netzwerken
  • create für den Aufbau neuer Netzwerke
  • disconnect zum Trennen von laufenden Containern von Netzwerken
  • rm zum Entfernen einzelner oder mehrerer Netzwerke

Nachfolgend siehst du die Ausgabe eines docker network create Befehls.

Screenshot: der Befehl docker create
docker network create Ausgabe

15. docker history

Dieser Befehl zeigt die Historie eines bestimmten Bildes an. So kannst du nachvollziehen, wie es erstellt wurde, und die Größe des Bildes wird angezeigt.

Der Befehl hat die folgende Struktur:

docker history [IMAGE]

Unten sehen wir die Historie des Bildes redis:latest.

Screenshot: der Befehl docker history
docker history Ausgabe

16. docker update

Mit diesem Befehl kannst du die Konfiguration eines Containers aktualisieren. Er hilft zu verhindern, dass Container zu viele Ressourcen des Docker-Hosts verbrauchen. Das Format des Befehls ist:

docker update [OPTIONS] [CONTAINER]

Einige der Optionen sind:

  • --restart aktualisiert eine Container-Neustart-Richtlinie.
  • --memory setzt das Speicherlimit für einen Container.
  • --cpus legt die Anzahl der zugewiesenen CPUs fest.

Nachfolgend siehst du ein Beispiel für die Ausgabe eines docker update Befehls.

Screenshot: der Befehl docker update
docker update Ausgabe

17. docker plugin install

Mit diesem Befehl kannst du Plugins verwalten. Er ist wichtig, weil er das Hinzufügen neuer Funktionen ermöglicht, ohne die Konfiguration des Docker-Hosts zu ändern.

Die docker plugin Argumente umfassen:

  • create zum Erstellen neuer Plugins.
  • enable zum Aktivieren installierter Plugins.
  • install zum Installieren neuer Plugins.
  • rm zum Entfernen einzelner oder mehrerer Plugins.
  • ls zum Anzeigen einer Liste von Plugins.

Im Folgenden verwenden wir docker plugin install, um ein Plugin zu unserer Umgebung hinzuzufügen. Dann verwenden wir docker plugin ls, um seinen Status zu erfahren.

Screenshot: der Docker-Plugin-Befehl
docker plugin ls Ausgabe

18. docker container

Mit diesem Befehl kannst du Container verwalten. Mit ihm kannst du u.a. Container erstellen, löschen und entfernen.

Zu den docker container Optionen gehören:

  • create zum Erstellen eines Containers.
  • commit zum Erstellen eines neuen Bildes nach Änderungen an einem Container.
  • exec zum Ausführen von Befehlen innerhalb eines laufenden Containers.
  • kill zum Anhalten eines laufenden Containers.
  • ls zum Anzeigen einer Liste von Containern innerhalb eines Docker-Hosts.
  • restart um einen Container neu zu starten.
  • run zum Erstellen eines Containers aus einem Bild und zum Ausführen desselben.
  • rm zum Entfernen eines Containers aus einem Docker-Host.

Nachfolgend siehst du ein Beispiel für die Ausgabe eines docker container Befehls.

Screenshot: der Docker-Container-Befehl
docker container restart Ausgabe

19. docker logs

Dieser Befehl ruft die Logs eines Containers ab. Sie geben Einblicke in die Operationen eines Containers, was bei der Fehlersuche wichtig sein kann.

Unten siehst du ein Beispiel für die Ausgabe eines docker logs Befehls.

Docker-Beispiel command logs
docker logs Ausgabe

20. docker swarm

Dieser Befehl hilft bei der Verwaltung eines Docker-Swarms – einer Gruppe von Maschinen (virtuell oder physisch), auf denen Docker läuft und die so konfiguriert sind, dass sie in einem Cluster zusammenarbeiten. Mit diesem Befehl ist es einfach, einen Schwarm einzurichten und seine Vorteile zu nutzen.

Nachfolgend findest du einige der docker swarm Optionen:

  • init zum Initiieren eines Schwarms.
  • join um einem Schwarm beizutreten.
  • leave für das Verlassen eines Schwarms.
  • update zum Aktualisieren eines Schwarms.

Im Folgenden findest du ein Beispiel und eine Ausgabe des Befehls docker swarm init.

Beispiel Docker-Befehl swarm init
docker swarm init Ausgabe

Zusammenfassung

Docker ist ein effektives Werkzeug für die Erstellung und Verwaltung von containerisierten Anwendungen. Die leicht verständlichen Befehle der CLI erleichtern die Erstellung und Bearbeitung selbst komplexer Anwendungen.

Wenn du die 20 oben genannten Befehle beherrschst, kannst du die Entwicklung deiner containerisierten Anwendungen beschleunigen.

Bei Kinsta nutzen viele Managed WordPress Hosting-Kunden unsere Docker-Desktop-basierten DevKinsta-Tools für die Entwicklung und Bereitstellung ihrer Websites.

Kunden des Anwendungs-Hosting-Dienstes von Kinsta können mit Docker und ihrem bevorzugten Git-Anbieter (Bitbucket, GitHub oder GitLab) arbeiten, um die Versionskontrolle des Quellcodes und die schnelle Bereitstellung von containerisierten Anwendungen zu gewährleisten.

Steve Bonisteel Kinsta

Steve Bonisteel is Technical Editor bij Kinsta. Hij begon zijn schrijverscarrière als verslaggever en achtervolgde ambulances en brandweerwagens. Sinds eind jaren negentig schrijft hij over internetgerelateerde technologie.