GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So verwenden Sie den Docker Run-Befehl mit Beispielen

Einführung

Einer der ersten und wichtigsten Befehle, die Docker-Benutzer lernen, ist docker run Befehl. Dies ist keine Überraschung, da seine Hauptfunktion darin besteht, Container zu erstellen und auszuführen.

Es gibt viele verschiedene Möglichkeiten, einen Container auszuführen. Indem Sie der grundlegenden Syntax Attribute hinzufügen, können Sie einen Container so konfigurieren, dass er im getrennten Modus ausgeführt wird, einen Containernamen festlegen, ein Volume mounten und viele weitere Aufgaben ausführen.

In diesem Tutorial erfahren Sie, wie Sie docker run verwenden Befehle mit Beispielen.

Voraussetzungen

  • Zugriff auf ein Befehlszeilen-/Terminalfenster
  • Ein Benutzerkonto mit sudo Privilegien
  • Eine vorhandene Docker-Installation

Verwendung des docker run-Befehls

Die grundlegende Syntax für den Befehl lautet:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Um einen Container auszuführen, müssen Sie dem Befehl nur das Image hinzufügen, auf dem er basiert:

docker run [docker_image]

Sie können Container von lokal gespeicherten Docker-Images ausführen. Wenn Sie ein Image verwenden, das sich nicht auf Ihrem System befindet, zieht die Software es aus der Online-Registrierung.

Als Beispiel haben wir eine Dockerfile verwendet, um ein Beispiel-Docker-Image mit der Aufgabe zu erstellen, die Nachricht Hello World wiederzugeben . Bei uns hat das Bild die ID e98b6ec72f51 . Ihr Image-Name unterscheidet sich je nach Container, den Sie ausführen möchten.

Der Befehl zum Ausführen unseres Beispielcontainers wäre:

docker run e98b6ec72f51

Der Container führt die vorgeschriebene Aufgabe aus (gibt die Nachricht Hello World zurück ) und stoppt dann.

Führen Sie einen Container unter einem bestimmten Namen aus

Wenn Sie den einfachen run verwenden Befehl generiert Docker automatisch einen Containernamen mit einer Zeichenfolge aus zufällig ausgewählten Zahlen und Buchstaben.

Da die Wahrscheinlichkeit gering ist, dass Sie sich die Container an diesen generischen Namen merken oder erkennen, sollten Sie den Containernamen auf einen einprägsameren Namen setzen.

Verwenden von --name -Attribut können Sie einen Containernamen zuweisen. Der Befehl zum Ausführen eines Containers unter einem bestimmten Namen lautet:

docker container run --name [container_name] [docker_image]

Beispielsweise können wir den Beispielcontainer ausführen und ihm den Namen container_instance geben mit dem Befehl:

docker container run --name container_instance e98b6ec72f51

Sie können überprüfen, ob Sie erfolgreich einen Containernamen gesetzt haben, indem Sie sich mit dem Befehl:

eine Liste aller Container (laufende und gestoppte) anzeigen lassen
docker ps -a

Wie im Bild unten sollten Sie Ihren neu erstellten Container sehen.

Container im Hintergrund ausführen (getrennter Modus)

Es gibt zwei Möglichkeiten, einen Container auszuführen – im angehängten Modus (im Vordergrund) oder im getrennten Modus (im Hintergrund).

Standardmäßig führt Docker den Container im verbundenen Modus aus. Das heißt, es ist an die Terminalsitzung angehängt, wo es Ausgaben und Meldungen anzeigt.

Wenn Sie den Container und die aktuelle Terminalsitzung getrennt halten möchten, können Sie den Container mit -d im Hintergrund ausführen Attribut. Mit dem getrennten Modus können Sie auch die geöffnete Terminalsitzung schließen, ohne den Container anzuhalten.

Der Befehl zum Ausführen eines Containers im Hintergrund lautet:

docker container run -d [docker_image]

Für unser Beispiel lautet der Befehl:

docker container run -d e98b6ec72f51

Die Ausgabe, die Sie erhalten, ähnelt der, die Sie im obigen Bild sehen. Der Container führt den Prozess aus und stoppt dann. Keine andere Ausgabe wird innerhalb der Terminalsitzung angezeigt.

Container interaktiv ausführen

Docker ermöglicht es Ihnen, einen Container im interaktiven Modus auszuführen . Das bedeutet, dass Sie Befehle innerhalb des Containers ausführen können, während er noch läuft.

Durch die interaktive Verwendung des Containers können Sie auf eine Eingabeaufforderung innerhalb des laufenden Containers zugreifen. Führen Sie dazu den folgenden Befehl aus:

docker container run -it [docker_image] /bin/bash

Die Eingabeaufforderung ändert sich und Sie gelangen zur Bash-Shell wie im Beispiel unten.

Führen Sie einen Container aus und veröffentlichen Sie Containerports

Wenn Sie einen Container ausführen, können Sie nur von innen auf den Prozess zugreifen. Um externe Verbindungen zum Container zuzulassen, müssen Sie bestimmte Ports öffnen (veröffentlichen).

Sie müssen das -p hinzufügen Option zum docker run Befehl sowie die folgenden Informationen:

-p [host_ip]:[host_port]:[container_port]

Die host_ip -Element ist optional und muss beim Ausführen des Befehls nicht angegeben werden.

Um beispielsweise TCP-Port 80 im Container Port 8080 auf dem Docker-Host zuzuordnen, würden Sie Folgendes ausführen:

docker container run -p 8080:80 [docker_image]

Führen Sie einen Container aus und mounten Sie Host-Volumes

Docker-Container speichern die von ihnen produzierten Daten nicht. Sobald der Vorgang abgeschlossen ist, stoppt der Container und alles darin wird entfernt.

Wenn Sie persistente Daten haben möchten, die auch nach dem Beenden des Containers gespeichert werden, müssen Sie die gemeinsame Nutzung von Speichervolumes aktivieren.

Verwenden Sie zum Mounten von Volumes -v -Attribut durch den angegebenen Speicherort des Verzeichnisses, in dem Sie die Daten speichern möchten, gefolgt von dem Speicherort dieser Daten im Container.

-v [/host/volume/location]:[/container/storage]

Die gesamte docker container run Befehl ist:

docker container run -v [/host/volume/location]:[/container/storage] [docker_image]

Führen Sie einen Docker-Container aus und entfernen Sie ihn, sobald der Vorgang abgeschlossen ist

Sobald ein Container seine Aufgaben ausführt, stoppt er, aber das Dateisystem, aus dem er besteht, bleibt auf dem System.

Wenn Sie einen Container nur zum Ausführen der skizzierten Aufgabe benötigen und ihn oder sein Dateisystem danach nicht mehr verwenden, können Sie ihn so einrichten, dass er gelöscht wird, sobald er erledigt ist.

Um einen Container auszuführen, der nach dem Beenden automatisch entfernt wird, verwenden Sie den Befehl:

docker container run --rm [docker_image]

Cent OS
  1. Verwendung des wget-Befehls mit Beispielen

  2. Verwendung des ethtool-Befehls mit Beispielen

  3. Verwendung des Linux-Hexdump-Befehls mit praktischen Beispielen

  4. SCP-Befehl in Linux:Verwendung mit Beispielen

  5. So führen Sie einen Befehl in einem laufenden Docker-Container aus

Linux-Alias-Befehl:Verwendung mit Beispielen

So führen Sie Jenkins Container als Systemd-Dienst mit Docker aus

Verwendung des RPM-Befehls (mit Beispielen)

So verwenden Sie den Gunzip-Befehl unter Linux mit Beispielen

So verwenden Sie den Linux-rm-Befehl mit Beispielen

Verwendung des Shutdown-Befehls mit Beispielen