Was ist der Unterschied zwischen docker run
und docker create
Befehlen?
Ich benutze normalerweise run
aber manchmal in der Dokumentation, die ich sehe create
.
Docker --help
erzählt
create Create a new container
run Run a command in a new container
Bedeutet das, dass run
es verwendet wird, wenn wir einen Befehl an einen neuen Container übergeben müssen? Was ist das Ziel von create
dann?
Technisch
docker run
=docker create
+docker start
.quelle
docker run
=docker create
+docker start
+docker attach
. Ohneattach
läuft der gestartete Container im Hintergrunddocker create
Der Befehl erstellt einen beschreibbaren Container aus dem Image und bereitet ihn für die Ausführung vor .docker run
Befehl erstellt den Container (wiedocker create
) und startet ihn .quelle
Die anderen Antworten haben dies abgedeckt, aber ich dachte, ich würde die entsprechenden Shell-Befehlszeilen anzeigen, weil es wirklich klar macht:
ist das gleiche wie
Hier
docker create
wird verwendet, um einen Container aus dem benannten Bild zu erstellen und die erstellte Container-ID auszugeben unddocker start
um den Container mit dieser ID zu starten. Die-a
Option bewirkt, dass das Terminal angehängt wird, sodass der Container im Vordergrund ausgeführt wird. Dies ist das Standardverhalten vondocker run
.Ein Container, der erstellt, aber nie gestartet wurde, hat einen
Created
Status. das kann man mit sehendocker container ls -a
.quelle
Ich bin neu bei Docker und habe gerade angefangen, damit zu spielen.
Meiner Meinung nach führt Docker Run im Wesentlichen Folgendes aus: (in der Reihenfolge ..) Docker erstellen , Docker starten , Docker anhängen , da es sofort an die aktive Shell angehängt wird , nachdem Sie den Befehl 'run' ausgeführt haben.
quelle
Docker Run dient im Wesentlichen zum Ausführen von Befehlen im Container.
Das Obige dient zum Erstellen eines Bash-Terminals. Und lassen Sie uns Bash-Befehle im Container verwenden.
Docker erstellen besteht darin, einen Container aus einem Docker-Image zu erstellen.
Das obige ist, um einem Docker einen Container mit dem Namen "Docker-Ubuntu" aus dem Bild "Ubuntu" zu erstellen.
quelle
docker run -it <Container name>
verzichten, dann / bin / bash zu tun. Zum Beispiel wird der Ruby eine ausführbare Datei namens irb automatisch ausführen. Sie können auch -d ausführen, dies geschieht mit Dockersamples / statischen Sites, die sich nicht anmelden. Ich denke, es macht keine Ausführung, aber es startet es einfach.