Der heutige Teil der Docker-Reihe, die wir veröffentlichen, ist Docker-Teams gewidmet. 
Die Docker- 
Dokumentation enthält eine detaillierte Beschreibung einer Vielzahl von Befehlen, aber jemand, der gerade erst mit dieser Plattform arbeitet, kann sich darin verlieren. Hier sind also fast zwei Dutzend der wichtigsten Befehle für die Arbeit mit Docker. In Fortsetzung der etablierten Tradition werden wir Teams mit einer Streuung von Beeren vergleichen.
→ 
Teil 1: die Grundlagen→ 
Teil 2: Begriffe und Konzepte→ 
Teil 3: Dockerfile-Dateien→ 
Teil 4: Verkleinern von Bildern und Beschleunigen ihrer Montage→ 
Teil 5: Teams→ 
Teil 6: Arbeiten mit DatenRückblick
Wir möchten daran erinnern, dass Docker-Images basierend auf Dockerfile-Dateien erstellt werden, die alles beschreiben, was zum Erstellen von Images erforderlich ist. Vergessen wir außerdem nicht, dass der Container ein Docker-Image ist, das zum Leben erweckt wird. Um die Docker-Befehle effektiv nutzen zu können, müssen Sie zunächst herausfinden, womit Sie es zu tun haben - mit dem Bild oder mit dem Container. Wenn Sie an Bilder und Container denken, können Sie sehen, dass ein Docker-Bild entweder vorhanden sein kann oder nicht. Gleiches gilt für Docker-Container. Ein vorhandener Docker-Container kann sich außerdem entweder in einem Betriebszustand oder in einem inaktiven Zustand befinden.
Sobald Sie herausgefunden haben, mit was genau Sie arbeiten müssen, können Sie das richtige Team finden.
Docker-Befehlsübersicht
Hier sind einige Dinge, die Leute, die mit Docker arbeiten möchten, wissen sollten:
- Die Docker-Befehlszeilenschnittstellenbefehle, mit denen etwas gesteuert wird, beginnen mit dem dockerSchlüsselwort, gefolgt von einem Leerzeichen. Dann wird angezeigt, wohin ein bestimmter Befehl geleitet wird, dann ein anderes Leerzeichen, und dann folgt der Befehl selbst. So wird beispielsweise ein solcher Befehl aufgebaut:docker container stop.
- Wenn der Befehl auf ein bestimmtes Bild oder einen bestimmten Container gerichtet ist, wird der Name oder die Kennung eines solchen Bildes oder Containers darin verwendet.
docker container run my_app ist beispielsweise ein Befehl zum Erstellen und Ausführen eines Containers mit dem Namen 
my_app . In den folgenden Beispielen rufen wir 
my_container , images 
my_image , tags 
my_tag usw. auf.
Zuerst betrachten wir das Team selbst und dann die Flags, die damit verwendet werden können, falls solche Flags vorhanden sind. Wenn die Flagge zwei Striche vor sich hat, ist dies ihre volle Form. Eine Flagge mit einem Strich ist eine abgekürzte Version einer bestimmten Flagge. Sie verhalten sich genauso. Beispielsweise ist 
-p eine abgekürzte Form des 
--port .
Der Zweck dieses Artikels ist es, Ihnen einen Überblick über die Docker-Befehle zu geben. Wenn Sie eine allgemeine Vorstellung davon haben und die dank dieser Befehle verfügbaren Plattformfunktionen kennen, können Sie bei Bedarf detaillierte Informationen zu ihnen finden. Die betreffenden Teams werden unter Betriebssystemen der Linux-Familie mit der Docker-Engine Version 18.09.1 und der API-Version 1.39 getestet.
Ein Hinweis zu Befehlen, die von Docker CLI 1.13 unterstützt werden
Die Docker-Befehlszeilenschnittstelle der Version 1.13 bietet aktualisierte, logisch gruppierte Befehle. Gleichzeitig arbeiten alte Teams immer noch, aber es ist einfacher, neue zu verwenden, insbesondere für Anfänger. Beispielsweise wurde in Version 1.12 ein Befehl des Formular- 
docker create , und in Version 1.13 wurde der Befehl 
docker container create verfügbar. Informationen zum Matching alter und neuer Teams finden Sie 
hier .
Zuerst sehen wir uns die Befehle zum Verwalten von Containern an, dann diskutieren wir die Bildverwaltung.
Containerverwaltungsbefehle
Das allgemeine Befehlsschema zum Verwalten von Containern lautet wie folgt:
 docker container my_command 
Hier sind die Befehle, die ersetzt werden können, wenn wir 
my_command verwendet 
my_command :
- create- Erstellt einen Container aus einem Bild.
- start- Startet einen vorhandenen Container.
- run- Erstellen Sie einen Container und starten Sie ihn.
- ls- Liste der laufenden Container.
- inspect- Detaillierte Informationen zum Container anzeigen.
- logs- Protokollausgabe.
- stop- Stoppen Sie den laufenden Container, indem Sie das- SIGTERMSignal an den- SIGTERMund nach einiger Zeit an- SIGKILLsenden.
- kill- Stoppen Sie den laufenden Container und senden Sie das- SIGKILLSignal an den- SIGKILL.
- rm- löscht einen gestoppten Container.
Bildverwaltungsbefehle
Für die Bildverwaltung werden Befehle verwendet, die folgendermaßen aussehen:
 docker image my_command 
Hier sind einige der Teams in dieser Gruppe:
- build- baue das Image.
- push- Sende das Image an die Remote-Registrierung.
- ls- Liste der Bilder.
- history- Zeigt Informationen zu Bildebenen an.
- inspect- Zeigt detaillierte Informationen zum Bild an, einschließlich Informationen zu den Ebenen.
- rm- lösche das Bild.
Verschiedene Teams
- docker version-- docker versionfür den Docker-Client und -Server an.
- docker login- Docker-Registrierungseintrag.
- docker system prune- Löschen Sie nicht verwendete Container, Netzwerke und Images, denen kein Name und kein Tag zugewiesen wurde.
Betrachten Sie diese Befehle nun genauer.
Container
▍ Beginn der Existenz des Containers
In der Anfangsphase der Arbeit mit Containern werden die Befehle 
create , 
start und 
run verwendet. Sie werden jeweils verwendet, um einen Container zu erstellen, ihn zu starten und ihn zu erstellen und zu starten.
Hier ist der Befehl zum Erstellen eines Containers aus einem Bild:
 docker container create my_repo/my_image:my_tag 
In den folgenden Beispielen wird das 
my_repo/my_image:my_tag auf 
my_image gekürzt.
Der Befehl 
create akzeptiert viele 
Flags . Zum Beispiel kann es in der folgenden Form geschrieben werden:
 docker container create -a STDIN my_image 
Das Flag 
-a ist eine Kurzform des 
--attach . Mit diesem Flag können Sie den Container mit 
STDIN , 
STDOUT oder 
STDERR .
Nachdem der Container erstellt wurde, kann er mit dem folgenden Befehl gestartet werden:
 docker container start my_container 
Bitte beachten Sie, dass Sie auf den Container im Befehl entweder mit seiner 
ID oder seinem Namen verweisen können.
Schauen Sie sich nun den Befehl an, mit dem Sie den Container erstellen und ausführen können:
 docker container run my_image 
Dieser Befehl kann auch viele Befehlszeilenargumente akzeptieren. Betrachten Sie einige von ihnen mit einem Beispiel für eine solche Konstruktion:
 docker container run -i -t -p 1000:8000 --rm my_image 
Das Flag 
-i steht für 
--interactive . Dank dieses Flags 
STDIN der 
STDIN Stream auch dann offen, wenn der Container nicht mit 
STDIN .
Das Flag 
-t steht für 
--tty . Dank dieses Flags wird ein Pseudo-Terminal hervorgehoben, das das verwendete Terminal mit den Streams 
STDIN und 
STDOUT des Containers 
STDIN .
Um über das Terminal mit dem Container interagieren zu können, müssen Sie die Flags 
-i und 
-t zusammen verwenden.
Das Flag 
-p steht für 
--port . Ein Port ist eine Schnittstelle, über die ein Container mit der Außenwelt interagiert. Design 
1000:8000 leitet den Docker 
8000 Port an Port 
1000 Computers um, auf dem der Container ausgeführt wird. Wenn in dem Container eine bestimmte Anwendung ausgeführt wird, die etwas an den Browser ausgeben kann, können Sie in unserem Fall auf den Browser unter 
localhost:1000 zugreifen, um darauf zuzugreifen.
Das Flag 
--rm löscht den Container nach seiner Fertigstellung automatisch.
Schauen wir uns einige weitere Beispiele für den Befehl 
run :
 docker container run -it my_image my_command 
In einem solchen Entwurf kann der Befehl 
sh verwendet werden, der eine Terminalsitzung in einem Container erstellt, mit der über Ihr Terminal interagiert werden kann. Wenn Sie mit Bildern arbeiten, die auf Alpine basieren, ist es besser, sich auf 
sh als auf 
bash , da in diesen Bildern die 
bash standardmäßig nicht installiert ist. Verwenden Sie den 
exit exit, um die interaktive Sitzung zu 
exit .
Beachten Sie, dass wir hier die Flags 
-i und 
-t in 
-it kombiniert haben.
Hier ist ein weiteres Beispiel für die Arbeit mit dem Befehl 
run :
 docker container run -d my_image 
Das Flag 
-d steht für 
--detach . Dieser Befehl startet den Container im Hintergrund. Auf diese Weise können Sie das Terminal verwenden, von dem aus der Container gestartet wird, um andere Befehle auszuführen, während der Container ausgeführt wird.
▍Bestätigen des Containerstatus
Wenn Sie Docker-Container ausführen und wissen möchten, um welche Container es sich handelt, müssen Sie sie auflisten. Sie können dies mit dem folgenden Befehl tun:
 docker container ls 
Dieser Befehl zeigt eine Liste der ausgeführten Container an und enthält einige nützliche Informationen zu dieser Liste. Hier ist ein weiteres Beispiel für diesen Befehl:
 docker container ls -a -s 
Der Schalter 
-a dieses Befehls steht für 
--all . Mit dieser Taste können Sie Informationen zu allen Containern anzeigen und nicht nur zu laufenden.
Der 
-s ist eine Abkürzung für 
--size . Hier können Sie die Abmessungen der Container anzeigen.
Hier ist ein Befehl, der detaillierte Informationen zum Container anzeigt:
 docker container inspect my_container 
Hier ist der Befehl, der die Protokolle des Containers anzeigt:
 docker container logs my_container 
▍ Container herunterfahren
Manchmal muss ein Arbeitscontainer angehalten werden. Verwenden Sie dazu den folgenden Befehl:
 docker container stop my_container 
Sie können damit aufhören, Container auszuführen, und sie können ordnungsgemäß heruntergefahren werden. Der Container hat standardmäßig 10 Sekunden Zeit, um herunterzufahren.
Wenn der Container schnell gestoppt werden muss, ohne sich um den korrekten Abschluss seiner Arbeit sorgen zu müssen, können Sie den folgenden Befehl verwenden:
 docker container kill my_container 
Wenn Sie den Arbeitscontainer mit dem eingeschalteten Fernsehgerät vergleichen, ähnelt der Befehl 
kill dem Ausschalten des Fernsehgeräts, indem Sie ihn vom Stromnetz trennen. In den meisten Situationen wird daher empfohlen, den Befehl stop zu verwenden, um Container zu stoppen.
Hier ist ein Befehl, mit dem Sie alle laufenden Container schnell stoppen können:
 docker container kill $(docker ps -q) 
Um einen gestoppten Container zu löschen, können Sie den folgenden Befehl verwenden:
 docker container rm my_container 
Hier ist ein Befehl, mit dem Sie alle Container löschen können, die zum Zeitpunkt des Aufrufs dieses Befehls nicht ausgeführt wurden:
 docker container rm $(docker ps -a -q) 
Um diesen Abschnitt zusammenzufassen. Zuerst wird ein Container erstellt, dann wird er gestartet, oder diese beiden Schritte werden mit einem Befehl des Formular- 
docker run my_container . Danach wird die containerisierte Anwendung gestartet.
Dann wird der Container mit dem 
docker stop my_container gestoppt. Verwenden Sie zum Entfernen des Containers den 
docker rm my_container .
Lassen Sie uns nun über die Befehle sprechen, die zum Arbeiten mit Bildern verwendet werden, und zwar über die Vorlagen, aus denen die Container erstellt werden.
Die Bilder
▍Erstellen von Bildern
Hier ist ein Befehl, mit dem Sie Docker-Bilder sammeln können:
 docker image build -t my_repo/my_image:my_tag . 
In diesem Fall wird ein Bild mit dem Namen 
my_image . Während der Montage wird die Dockerfile-Datei verwendet, die sich unter dem angegebenen Pfad oder der angegebenen URL befindet.
Das Flag 
-t steht für 
--tag . Es teilt Docker mit, dass dem zu erstellenden Image das im Befehl angegebene Tag zugewiesen werden muss. In diesem Fall ist es 
my_tag .
Der Punkt am Ende des Befehls gibt an, dass das Bild mithilfe der Dockerfile-Datei im aktuellen Arbeitsverzeichnis erfasst werden muss.
Nachdem das Image zusammengestellt wurde, kann es an die Remote-Registrierung gesendet werden. Dank dessen können andere Benutzer es verwenden, es kann heruntergeladen und auf einem anderen Computer ausgeführt werden. Angenommen, Sie möchten den 
Docker Hub verwenden . In diesem Fall müssen Sie dort ein Konto erstellen. Die Nutzung dieser Ressource ist kostenlos.
Nachdem Sie sich für den Docker Hub angemeldet haben, müssen Sie sich anmelden. Und obwohl der hierfür verwendete Befehl nicht direkt für Befehle gilt, die für die Arbeit mit Bildern vorgesehen sind, ist es hilfreich, ihn hier zu berücksichtigen. Dies ist der folgende Befehl:
 docker login 
Sie können sich bei Ihrem Docker Hub-Konto anmelden. Um sich anzumelden, müssen Sie einen Benutzernamen und ein Passwort eingeben.
Nach dem Anmelden können Sie Bilder an die Registrierung senden. Es wird so gemacht:
 docker image push my_repo/my_image:my_tag 
Nachdem Sie nun mehrere Arten von Bildern haben, können Sie diese mit speziellen Befehlen untersuchen.
▍ Bildrecherche
Hier ist der Befehl, der eine Liste von Bildern anzeigt, einschließlich Informationen zu ihrer Größe:
 docker image ls 
Mit dem folgenden Befehl können Sie Informationen zu den Zwischenbildern anzeigen, aus denen das Bild besteht, insbesondere Daten zu deren Größe und wie sie erstellt wurden:
 docker image history my_image 
Hier ist der Befehl, der detaillierte Informationen zum Bild anzeigt, einschließlich Daten zu den Ebenen, aus denen das Bild besteht:
 docker image inspect my_image 
Wenn Sie so viele Bilder erstellen, kann es vorkommen, dass einige davon gelöscht werden müssen.
▍Löschen Sie Bilder
Hier ist der Befehl, mit dem Sie das angegebene Bild löschen können:
 docker image rm my_image 
Wenn das Bild in einem Remote-Repository gespeichert ist, wird es von dort nicht gelöscht.
Hier ist ein Befehl, mit dem Sie alle lokalen Bilder löschen können:
 docker image rm $(docker images -a -q) 
Verwenden Sie diesen Befehl mit Vorsicht. Beachten Sie jedoch, dass im Remote-Repository gespeicherte Bilder bei der Verwendung nicht gelöscht werden. Dies ist einer der Vorteile des Speicherns von Bildern in Repositorys.
Wir haben die grundlegenden Befehle zum Verwalten von Containern und Bildern untersucht. Lassen Sie uns nun über weitere Teams sprechen.
Verschiedene Teams
Hier ist der Befehl, der Versionsinformationen für den Docker-Client und -Server anzeigt:
 docker version 
Dieser Ihnen bereits bekannte Befehl wird zum Aufrufen der Docker-Registrierung verwendet:
 docker login 
Mit diesem Befehl können Sie nicht verwendete Container, Netzwerke und Bilder löschen 
, denen kein Name und kein Tag zugewiesen wurden :
 docker system prune 
Hier ist ein Beispiel für seine Verwendung:
 docker system prune -a --volumes 
Der Schalter 
-a ist eine Abkürzung für 
--all und ermöglicht das Löschen nicht verwendeter Bilder und nicht nur von Bildern, denen kein Name und kein Tag zugewiesen wurde.
Mit 
--volumes können 
--volumes nicht verwendete Volumes löschen.
Zusammenfassung
In diesem Artikel haben wir die nützlichen Docker-Befehle behandelt. Wenn Sie gerade erst mit Docker arbeiten, sollten Sie die folgenden drei wichtigsten Befehle beachten:
Erstellen und Ausführen eines Containers:
 docker container run my_image 
Bild erstellen:
 docker image build -t my_repo/my_image:my_tag . 
Hochladen des Images in ein Remote-Repository:
 docker image push my_repo/my_image:my_tag 
Um Hilfe zu Docker-Befehlen zu erhalten, können Sie den 
docker Befehl im Terminal ausführen. 
Hier finden Sie Hilfe zur Docker-Befehlszeilenschnittstelle.
Nächstes Mal werden wir über die Arbeit mit Daten in Docker sprechen.
Liebe Leser! Wenn Sie mit Docker arbeiten, haben Sie wahrscheinlich eine eigene Liste häufig verwendeter Befehle. Wenn ja, teilen Sie diese Liste bitte.
