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:
dfzeigt an, wie du die Festplatte verwendest.pruneentfernt unbenutzte Netzwerke, Container, Images oder Volumes.infozeigt systembezogene Informationen an.eventszeigt ein Protokoll der Systemereignisse in Echtzeit an.
Nachfolgend siehst du die erste Eingabeaufforderung nach der Ausführung von docker system prune.

docker system prune Ausgabe2. 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:
lszeigt 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:

docker context ls Ausgabe3. 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.

docker pause AusgabeDer 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.

docker unpause Ausgabe4. 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.

docker rm Ausgabe5. 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.

docker rmi Ausgabe6. 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.lslistet 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.

docker volume create Ausgabe7. 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

docker search Ausgabe8. 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.

docker push Ausgabe9. 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:

docker pull Ausgabe10. 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:
-azeigt eine Liste der laufenden und beendeten Container an-szeigt 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.

docker ps Befehls11. 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.

docker tag Ausgabe12. 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.

docker rename Ausgabe13. 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.

docker commit Ausgabe14. 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:
connectzum Verbinden von Containern mit Netzwerkencreatefür den Aufbau neuer Netzwerkedisconnectzum Trennen von laufenden Containern von Netzwerkenrmzum Entfernen einzelner oder mehrerer Netzwerke
Nachfolgend siehst du die Ausgabe eines docker network create Befehls.

docker network create Ausgabe15. 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.

docker history Ausgabe16. 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:
--restartaktualisiert eine Container-Neustart-Richtlinie.--memorysetzt das Speicherlimit für einen Container.--cpuslegt die Anzahl der zugewiesenen CPUs fest.
Nachfolgend siehst du ein Beispiel für die Ausgabe eines docker update Befehls.

docker update Ausgabe17. 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:
createzum Erstellen neuer Plugins.enablezum Aktivieren installierter Plugins.installzum Installieren neuer Plugins.rmzum Entfernen einzelner oder mehrerer Plugins.lszum 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.

docker plugin ls Ausgabe18. 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:
createzum Erstellen eines Containers.commitzum Erstellen eines neuen Bildes nach Änderungen an einem Container.execzum Ausführen von Befehlen innerhalb eines laufenden Containers.killzum Anhalten eines laufenden Containers.lszum Anzeigen einer Liste von Containern innerhalb eines Docker-Hosts.restartum einen Container neu zu starten.runzum Erstellen eines Containers aus einem Bild und zum Ausführen desselben.rmzum Entfernen eines Containers aus einem Docker-Host.
Nachfolgend siehst du ein Beispiel für die Ausgabe eines docker container Befehls.

docker container restart Ausgabe19. 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 logs Ausgabe20. 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:
initzum Initiieren eines Schwarms.joinum einem Schwarm beizutreten.leavefür das Verlassen eines Schwarms.updatezum Aktualisieren eines Schwarms.
Im Folgenden findest du ein Beispiel und eine Ausgabe des Befehls docker swarm init.

docker swarm init AusgabeZusammenfassung
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.