Wenn Sie mit Docker noch nicht vertraut sind, sehen Sie sich einige der grundlegenden Befehle an, die Sie lernen sollten, um mit der Verwaltung von Containern zu beginnen. Docker hatte einen enormen Einfluss auf den Softwareentwicklungszyklus und machte die Bereitstellung von Software im großen Maßstab einfach und sicher. Dieses Tutorial behandelt die Grundlagen zum Ausführen, Starten, Stoppen und Löschen von Docker-Containern. Docker erleichtert die Verwendung verschiedener Programmiersprachen auf unterschiedlichen Betriebssystemen, alles auf demselben Host. Das Bereitstellen Ihrer Software hinter Docker wird viel einfacher und Sie müssen sich keine Sorgen machen, dass Sie Systemkonfigurationen oder Voraussetzungen verpassen. Docker und virtuelle Maschinen Wenn Sie zum Ausführen Ihrer Software Virtualisierung verwenden, warum benötigen Sie dann stattdessen Docker? Der Hauptunterschied zwischen ihnen besteht darin, dass Docker ein separater Prozess ist, der innerhalb Ihres nativen Betriebssystems ausgeführt wird, während eine VM ein vollständig isoliertes Betriebssystem ist, das auf dem Host-Betriebssystem ausgeführt wird und mehr Zeit zum Laden benötigt. Docker bietet also gegenüber virtuellen Maschinen weitere Vorteile, beispielsweise:
Tatsächlich ist Docker kein Ersatz für virtuelle Maschinen, sondern löst spezifische Probleme. Angenommen, Ihre Anwendung erfordert drei oder mehr Dienste, die auf unterschiedlichen Betriebssystemen ausgeführt werden. Dann können Sie drei Container problemlos auf demselben Host ausführen, anstatt drei virtuelle Maschinen auf demselben Host auszuführen. Klingt super! Ausführen Ihres Containers Stellen Sie vor dem Beginn sicher, dass Docker ordnungsgemäß installiert und bereit ist, Befehle anzunehmen. Geben Sie den folgenden Befehl in ein neues Terminalfenster ein: Der obige Befehl gibt die auf Ihrem PC installierte Docker-Version aus: Es ist Zeit, den Container auszuführen: Wenn Sie den obigen Befehl zum ersten Mal ausführen, sollten Sie in Ihrem Terminalfenster eine Ausgabe ähnlich dieser sehen: Das ist einfach, nicht wahr? Versuchen Sie, denselben Befehl erneut auszuführen: Wenn Sie den obigen Befehl zum zweiten, dritten oder x-ten Mal ausführen, sollten Sie in Ihrem Terminal nur diese Ausgabe sehen: Nachdem Sie den Container erfolgreich ausgeführt haben, ist es an der Zeit zu analysieren, was genau passiert ist. Siehe die folgenden Befehle: Dieser Befehl besteht aus mehreren Teilen. Zuerst haben Sie das Wort „Docker“. Dies ist der Name der Docker-Befehlszeilenschnittstelle (CLI), die zur Interaktion mit der Docker-Engine verwendet wird, die für die Ausführung von Containern verantwortlich ist. Als Nächstes haben Sie das Wort „Container“, das den Kontext angibt, mit dem Sie arbeiten. Der nächste Schritt besteht darin, den Befehl „run“ tatsächlich auszuführen. Jetzt müssen Sie Docker mitteilen, welcher Container ausgeführt werden soll. Hier ist der Alpencontainer im Einsatz. Schließlich müssen Sie den Prozess- oder Aufgabentyp definieren, der innerhalb des Containers ausgeführt werden soll, wenn der Container ausgeführt wird. Dies ist der letzte Teil des Befehls, echo „Hallo Welt“. Ausführen eines Prozesses innerhalb eines Containers Nachdem Sie nun die Teile des Befehls zum Ausführen eines Containers verstehen, versuchen Sie, einen anderen Prozess in einem anderen Container auszuführen: Die Ausgabe lautet wie folgt: Im vorhergehenden Beispiel ist das verwendete Container-Image CentOS und der im CentOS-Container ausgeführte Prozess ist ping -c 5 127.0.0.1, der die Loopback-Adresse fünfmal anpingt, bis er stoppt. Die erste Zeile lautet: Dies bedeutet, dass Docker im lokalen Cache des Systems kein Image mit dem Namen „centos:latest“ gefunden hat. Daher weiß Docker, dass es es aus einem Image-Repository abrufen muss, in dem der Container gespeichert ist. Standardmäßig ist die Docker-Umgebung so konfiguriert, dass Images vom Docker-Hub unter hub.docker.com abgerufen werden. Dies wird durch die zweite Zeile wie folgt dargestellt: Die nächsten drei Ausgabezeilen lauten wie folgt: Dies zeigt Ihnen, dass Docker das Image centos:latest erfolgreich vom Docker Hub abgerufen hat. Die nachfolgende Ausgabe wird vom im Container ausgeführten Prozess generiert, in diesem Fall dem Ping-Tool. Möglicherweise fällt Ihnen auch auf, dass das Schlüsselwort „latest“ einige Male vorkommt. Jedes Image hat eine Version (auch Tag genannt), und wenn eine Version nicht explizit angegeben ist, geht Docker automatisch davon aus, dass es sich um die neueste Version handelt. Wenn Sie diesen Container erneut auf Ihrem System ausführen, werden die vorherigen fünf Zeilen nicht ausgegeben, da Docker das Container-Image lokal zwischengespeichert hat und es daher nicht zuerst herunterladen muss. Versuchen Sie herauszufinden, ob dies der Fall ist. Ausführen eines zufälligen Referenzcontainers Um den Zufallsaussagecontainer ausführen zu können, ist ein Algorithmus zur Generierung von Zufallsaussagen erforderlich. Die API zur Generierung dieser zufälligen Anweisungen finden Sie hier [1]. Drücken Sie Strg+C, um das Skript zu stoppen. Dies ist die Ausgabe: Jede Antwort ist eine JSON-formatierte Zeichenfolge, die das Zitat, den Autor und seine Kategorie enthält. $ Docker-Container ausführen -d --Name Anführungszeichen alpine \ /bin/sh -c "während :; mache wget -qO- https://talaikis.com/api/quotes/random; printf '\n'; sleep 5; fertig" Im obigen Ausdruck haben Sie zwei Befehlszeilenparameter verwendet: -d und --name. -d weist Docker an, den Container als Linux-Daemon auszuführen. Der Parameter -name wird verwendet, um einen expliziten Namen für den Container anzugeben. Wenn Sie keinen expliziten Containernamen angeben, weist Docker dem Container automatisch einen zufälligen, aber eindeutigen Namen zu. Der Name besteht aus dem Namen eines berühmten Wissenschaftlers und einem Adjektiv. Wie zum Beispiel „boring_borg“ oder „angry_goldberg“. Ziemlich lustig, nicht wahr? Ein wichtiger Aspekt ist, dass Containernamen eindeutig sein müssen. Stellen Sie sicher, dass der Anführungszeichen-Container aktiv ist: Der wichtige Teil der vorherigen Ausgabe ist die Spalte STATUS, die in diesem Fall UP 16 Sekunden anzeigt. Dies bedeutet, dass der Container seit 16 Sekunden aktiv ist. Listencontainer Wenn Sie im Laufe der Zeit weiterhin Container ausführen, kann Ihr System schließlich über viele Container verfügen. Um die Container zu finden, die aktuell auf dem Host ausgeführt werden, können Sie den Befehl „container ls“ wie folgt verwenden: Dadurch werden alle aktuell ausgeführten Container aufgelistet. Wenn Sie alle auf Ihrem System definierten Container auflisten möchten, können Sie die Kommandozeilenparameter -a oder -all wie folgt verwenden: Dadurch werden Container in jedem Status aufgelistet, unabhängig davon, ob sie erstellt, ausgeführt oder beendet wurden. Manchmal möchten Sie möglicherweise nur die IDs aller Container auflisten. Hierzu steht Ihnen der Parameter -q zur Verfügung: Sie fragen sich vielleicht, wozu das nützlich ist. Hier ist ein Beispiel: Der obige Befehl entfernt alle aktuell im System definierten Container, einschließlich angehaltener Container. Der Befehl rm steht für „Remove“ und wird in diesem Tutorial weiter erläutert. Stoppen und Starten von Containern Manchmal müssen Sie einen laufenden Container vorübergehend anhalten. Probieren Sie diesen Container: $ Docker-Container ausführen -d --Name Anführungszeichen alpine \ /bin/sh -c "während :; mache wget -qO- https://talaikis.com/api/quotes/random; printf '\n'; sleep 5; fertig" Nun können Sie diesen Container mit dem folgenden Befehl stoppen: Wenn Sie versuchen, den Container anzuhalten, stellen Sie möglicherweise fest, dass es eine Weile dauert (etwa 10 Sekunden), bis der Vorgang abgeschlossen ist. Warum passiert das? Docker sendet das Linux-SIGTERM-Signal an den Hauptprozess, der im Container ausgeführt wird. Im obigen Befehl wird der Name des Containers verwendet, um den zu stoppenden Container anzugeben. Auch die Verwendung einer Container-ID ist möglich. Wie erhalten Sie die Container-ID? Hierzu gibt es mehrere Möglichkeiten. Die manuelle Methode besteht darin, alle laufenden Container aufzulisten und den gesuchten Container in der Liste zu finden. Kopieren Sie einfach die ID von dort. $ export CONTAINER_ID = $(Docker-Container ls | grep-Anführungszeichen | awk '{print $1}') Hier verwenden wir AWK, um das erste Feld zu erhalten, das die Container-ID ist. Anstatt den Containernamen zu verwenden, können Sie in Ihrem Ausdruck jetzt die Variable $CONTAINER_ID verwenden: $ Docker-Container-Stopp $CONTAINER_ID Sobald der Container gestoppt wird, ändert sich sein Status in „Beendet“. Sie können einen angehaltenen Container mit dem Befehl „Docker Container Start“ neu starten. Einen Container entfernen Wenn Sie den Befehl „Docker Container ls -a“ ausführen, werden viele Container im Status „Beendet“ angezeigt. Wenn Sie diese Container nicht mehr benötigen, entfernen Sie sie am besten aus dem Speicher, da sie sonst wertvolle Ressourcen beanspruchen. Der Befehl zum Löschen des Containers lautet: Alternativ können Sie diesen Befehl verwenden: Manchmal ist es nicht möglich, einen laufenden Container zu löschen; wenn Sie das Löschen erzwingen möchten, können Sie den Kommandozeilenparameter -f oder --force verwenden. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: So implementieren Sie einen variablen Ausdrucksselektor in Vue
2.1, MSI-Installationspaket 2.1.1、Installation Be...
Inhaltsverzeichnis Was ist nginx 1. Laden Sie die...
Inhaltsverzeichnis 1. Einleitung 2. Verwenden Sie...
Keil Da auf dem Computer eine relativ alte MySQL-...
Installationsreihenfolge rpm -ivh mysql-community...
Wir können ein Hintergrundbild für die Zelle fest...
Inhaltsverzeichnis Bilderfassung durch SVG CSS-Te...
In diesem Artikel wird der spezifische Code von j...
Inhaltsverzeichnis Hafenbezogene Konzepte: Bezieh...
In diesem Artikelbeispiel wird der spezifische Co...
2048 Minispiel, zu Ihrer Information, der spezifi...
Systemumgebung: centos7.4 1. Prüfen Sie, ob die D...
1. Einleitung Heute hat mich ein Kollege gefragt,...
Manchmal ist die Seite sehr lang und benötigt ein...
Inhaltsverzeichnis 1. Komponenteneinführung 2. Qu...