Softwaretests | Eine ausführliche Analyse des Docker Run-Befehls: eine vollständige Anleitung zum Erstellen und Starten von Containern

Fügen Sie hier eine Bildbeschreibung ein

Einführung

Docker ist eine beliebte Containerisierungsplattform zum Erstellen, Verteilen und Ausführen von Anwendungen. Einer der grundlegendsten und wichtigsten Docker-Befehle wird docker runzum Erstellen und Starten von Containern verwendet. docker runIn diesem Artikel werden der Zweck, die Parameter und Beispiele des Befehls im Detail analysiert , um Ihnen zu helfen, den Prozess des Erstellens und Startens eines Containers vollständig zu verstehen.

Docker-Lauf

In Docker ist ein Container eine unabhängige Umgebung zum Ausführen von Anwendungen. docker runDer Befehl wird verwendet, um einen neuen Container basierend auf dem angegebenen Image zu erstellen und zu starten. Hier ist docker rundie grundlegende Syntax des Befehls:

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

Hinweis 1: docker runDasselbe docker createSyntaxformat, außer dass docker runder Container erstellt und ausgeführt wird und Sie den Container sogar eingeben können.

Hinweis 2: COMMANDBefehle, die innerhalb des Containers ausgeführt werden müssen

Docker-Ausführungsprozess

Der erste Schritt besteht darin, eine beschreibbare Containerschicht auf dem angegebenen Bild zu erstellen
. Der zweite Schritt besteht darin, es mit dem angegebenen Befehl (BEFEHL) zu starten
. Kurz gesagt, Docker-Ausführung entspricht der Ausführung von zwei APIs /containers/create:/containers/(id)/start

Optionsparameterbeschreibung

docker runDer Befehl verfügt über viele Parameter, von denen viele eine wichtige Rolle spielen. Hier stellen wir einige der am häufigsten verwendeten Parameter vor.

  • -i, führen Sie den Container im interaktiven Modus aus, der normalerweise mit -t verwendet wird
  • -tWeisen Sie dem Container nach dem Starten des Containers eine Befehlszeile zu, die normalerweise -igleichzeitig mit verwendet wird
  • -v, Verzeichniszuordnung, das Containerverzeichnis wird im Hostverzeichnis bereitgestellt, Format: <Hostverzeichnis>:<Containerverzeichnis>
  • -d, Daemon-Prozess, führt den Container im Hintergrund aus
  • -p, geben Sie die Portzuordnung an, Format: Host (Host) Port: Container-Port
  • -P, Zufällige Portzuordnung: Der interne Port des Containers wird zufällig dem Port des Hosts zugeordnet
  • -u, als welcher Benutzer den Container erstellen soll
  • --name "nginx-lb", Containername
  • -m, --memory bytesLegen Sie die maximale Speichernutzung des Containers fest
  • -h, --hostname stringGeben Sie den Hostnamen des Containers an
  • --dns 8.8.8.8Geben Sie den Container-DNS-Server an
  • -e username="ritchie", Umgebungsvariablen festlegen
  • --restartWird der Container nach dem Neustart von Docker automatisch neu gestartet?
  • --privileged, ob echte Root-Berechtigungen im Container verwendet werden sollen

Hinweis: -pVerwendung von Parametern

docker run -p ip:主机端口:容器端口
docker run -p 主机端口:容器端口 (常用) 
docker run -p 容器端口

Anwendungsbeispiel

  1. Erstellen Sie mithilfe tomcat7des Bildes tomcat_hogwartseinen Container mit dem folgenden Namen:
docker run --name tomcat_hogwarts tomcat:7

Wenn Sie auf diese Weise ausführen, wird das Ausführungsprotokoll des Containers direkt ausgedruckt. Daher müssen Sie im Allgemeinen den Parameter -d hinzufügen, da Sie sonst keine anderen Befehle eingeben können.
Fügen Sie hier eine Bildbeschreibung ein

  1. Verwenden Sie tomcat7das Bild, um tomcat_hogwarts01einen Container mit dem Namen zu erstellen, und verwenden Sie -dParameter, um ihn im Hintergrund auszuführen. Der Befehl lautet wie folgt:
docker run -d --name tomcat_hogwarts01 tomcat:7

Führen Sie es wie unten gezeigt aus:

Fügen Sie hier eine Bildbeschreibung ein
Das Erstellen eines Containers über -dParameter hat keinen Einfluss auf die Ausführung anderer Befehle.

  1. Verwenden Sie das Bild tomcat:7, um einen Container im Hintergrundmodus zu starten und den 8080-Port des Containers einem zufälligen Port auf dem Host zuzuordnen. Der Befehl lautet wie folgt:
docker run -d -P --name tomcat_muller tomcat:7

Fügen Sie hier eine Bildbeschreibung ein

  1. Verwenden Sie das Bild tomcat:7, um einen Container im Hintergrundmodus zu starten und den 8080-Port des Containers dem 8888-Port des Hosts zuzuordnen. Der Befehl lautet wie folgt:
docker run -d -p 8888:8080 --name tomcat_salah tomcat:7

Fügen Sie hier eine Bildbeschreibung ein

Sie können die Spalte PORTS sehen. Der 8888-Port des Hosts zeigt auf den 8080-Port des Containers.

  1. Verwenden Sie das Bild tomcat:7, um einen Container im Hintergrundmodus zu starten, 8080den Port des Containers dem Host- 127.0.0.1:8888 Port zuzuordnen, den Containernamen an tomcat77das Verzeichnis des Hosts anzupassen /usr/local/tomcat/webappund ihn dem Container zuzuordnen /usr/local/tomcat/webapps . Führen Sie nach dem Starten des Containers den Bash-Befehl im Container aus Der Befehl lautet wie folgt:
docker run -d -p 127.0.0.1:8888:8080 -v /usr/local/webapps:/usr/local/webapps -it --name tomcat77 tomcat:7 bash

Fügen Sie hier eine Bildbeschreibung ein

  1. Der Container-Port 8080 wird dem Port 1111 des Hosts zugeordnet. -it Starten Sie einen Container im interaktiven Modus und führen Sie den Bash-Befehl im Container aus.

Hinweis: Wenn hier Parameter hinzugefügt werden -d , wird die CLI-Schnittstelle des Containers nicht eingegeben. Wenn der Bash-Befehl nicht hinzugefügt wird, wird der Befehl (catalina.sh run) ausgeführt, den der Tomcat-Container selbst automatisch ausführt, und die CLI Die Schnittstelle wird nicht aufgerufen, da eine Reihe laufender Protokolle gedruckt wird

docker run -it -p 1111:8080 tomcat:7 bash

Fügen Sie hier eine Bildbeschreibung ein

  1. Erstellen Sie einen Container mit Root-Berechtigungen. Nach dem Betreten des Containers verfügen Sie über Root-Berechtigungen zum Ausführen von Befehlen.
# 创建容器
docker run -d --name jenkin_hogwarts --privileged=true jenkins/jenkins
# 进入容器
docker exec -it jenkin_hogwarts bash

Fügen Sie hier eine Bildbeschreibung ein

--privilegedBeispiele ohne Zusatz

# 创建容器
docker run -d --name jenkins_muller jenkins/jenkins

# 进入容器
docker exec -it -uroot jenkins_muller bash

Fügen Sie hier eine Bildbeschreibung ein

Notiz:

  • -uroot: Die Root-Benutzeridentität ist angegeben, es gibt jedoch keine echte Root-Berechtigung.
  • --privileged: Lassen Sie den aktuellen Benutzer wirklich über Root-Rechte verfügen
  1. Stellen Sie den Container so ein, dass er automatisch neu gestartet wird
docker run -d --name jenkins_salah --restart always jenkins/jenkins
  1. Ausgangscontainer
exit         #容器直接退出
ctrl +P +Q  #容器不停止退出     ---注意:这个很有用的操作

Zusammenfassen

docker runDer Befehl ist einer der grundlegendsten und wichtigsten Befehle in Docker und wird zum Erstellen und Starten von Containern verwendet. Durch das Verständnis und die flexible Verwendung verschiedener Optionen und Parameter können Sie den Namen des Containers, die Portzuordnung, die Datenpersistenz, Umgebungsvariablen und andere Einstellungen anpassen. Ich hoffe, dieser Artikel hilft Ihnen, docker rundie Befehle zu verstehen und zu verwenden, und Sie können erfolgreich Ihren eigenen Docker-Container erstellen und starten!

Für weitere technische Informationen klicken Sie bitte!

Ich denke du magst

Origin blog.csdn.net/Tester_muller/article/details/131639725
Empfohlen
Rangfolge