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
.
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
:
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.
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.
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.
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.
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.
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
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
.
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
:
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
.
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.
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.
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.
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 Netzwerkencreate
für den Aufbau neuer Netzwerkedisconnect
zum Trennen von laufenden Containern von Netzwerkenrm
zum Entfernen einzelner oder mehrerer Netzwerke
Nachfolgend siehst du die Ausgabe eines docker network create
Befehls.
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
.
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.
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.
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.
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.
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
.
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.
Schreibe einen Kommentar