Wenn Docker für Sie neu ist und Sie es lernen, indem Sie verschiedenen Tutorials folgen, stoßen Sie möglicherweise auf Begriffe wie Docker-Container starten, Docker-Container ausführen oder Docker-Container erstellen.
Diese Begriffe reichen aus, um einen Docker-Anfänger zu verwirren, da alle drei Docker-Befehle ähnlich zu sein scheinen.
Tatsächlich ist es besonders schwierig, den Unterschied zwischen docker run und docker start zu erkennen.
Ist das Ausführen eines Containers nicht dasselbe wie das Starten? Nicht wirklich.
Lass es mich dir erklären.
Unterschied zwischen Docker run, Docker start und Docker create
Diese Befehle bewirken Folgendes:
Docker-Erstellungsbefehl erstellt einen frischen neuen Container aus einem Docker-Image. Es wird jedoch nicht sofort ausgeführt.
Docker-Startbefehl startet jeden angehaltenen Container. Wenn Sie den Befehl docker create zum Erstellen eines Containers verwendet haben, können Sie ihn mit diesem Befehl starten.
Docker-Ausführungsbefehl ist eine Kombination aus create und start, da es einen neuen Container erstellt und sofort startet. Tatsächlich kann der docker run-Befehl sogar ein Image von Docker Hub ziehen, wenn es das erwähnte Image nicht auf Ihrem System findet.
Sehen wir es uns anhand von Beispielen an, damit Ihnen die Dinge klarer werden.
Sehen wir es uns anhand von Beispielen an
Stellen Sie sicher, dass Sie Docker installiert haben, wenn Sie den Beispielen folgen möchten.
Nehmen wir an, Sie laden das Ubuntu-Image mit dem Befehl docker pull ubuntu von Docker Hub herunter.
Sie können alle verfügbaren Docker-Images auf Ihrem System sehen. Ich habe in diesem Beispiel nur Ubuntu (um Verwirrung zu vermeiden):
[email protected]:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 775349758637 5 weeks ago 64.2MB
Erstellen Sie nun mit dem docker create command: einen neuen Docker-Container namens container-1
[email protected]:~$ docker create --name container-1 ubuntu
2d9a8c190e6c9b3cbbc032a87762bfbc92f1dc0dd30abbe9bdb3ed7e74a6480f
Sie können sehen, dass ein neuer Container erstellt wurde. Wenn Sie versuchen, alle laufenden Container anzuzeigen, sehen Sie container-1 nicht, da er zwar erstellt, aber nie gestartet wurde.
[email protected]:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Wenn Sie alle Container überprüfen, unabhängig davon, ob sie ausgeführt werden oder nicht, sehen Sie, dass container-1 den Status Erstellt hat:
[email protected]:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2d9a8c190e6c ubuntu "/bin/bash" 18 seconds ago Created container-1
Lassen Sie uns nun den docker run-Befehl verwenden zum Erstellen und Ausführen eines Containers namens container-2:
[email protected]:~$ docker run -it -d --name container-2 ubuntu bash
13dc0f4226dc8d9d86e41d927c5616654d8263da2cc8c667aaa5b4dbd7f7e9b3
Sie können sehen, dass container-2 ausgeführt wird, da sein Status Up:
ist[email protected]:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
13dc0f4226dc ubuntu "bash" About a minute ago Up About a minute container-2
Stoppen wir diesen laufenden Container:
[email protected]:~$ docker stop container-2
container-2
[email protected]:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[email protected]:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
13dc0f4226dc ubuntu "bash" 2 minutes ago Exited (0) 28 seconds ago container-2
2d9a8c190e6c ubuntu "/bin/bash" 3 minutes ago Created container-1
Da wir nun einen angehaltenen Container haben, können Sie ihn mit dem docker start-Befehl wieder starten :
[email protected]:~$ docker start container-2
container-2
[email protected]:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
13dc0f4226dc ubuntu "bash" 2 minutes ago Up 2 seconds container-2
Aber was passiert mit dem Container-1, der mit dem Befehl docker create erstellt wurde? Sie können diesen Container mit dem Befehl docker start starten und dann mit docker exec etwas Bestimmtes damit ausführen.
Ich hoffe, dieser Artikel hat Ihnen ein besseres Verständnis der Befehle Docker Run, Docker Start und Docker Create vermittelt. Ich empfehle, sich mit dem Container-Lebenszyklus vertraut zu machen, um dieses Thema besser zu verstehen.
Docker-Befehle zum Verwalten des ContainerlebenszyklusLernen Sie das Konzept des Containerlebenszyklus. Lernen Sie auch die Docker-Befehle kennen, um jede Phase des Lebenszyklus der Container zu verwalten.

Wenn Sie Fragen oder Anregungen haben, hinterlassen Sie bitte unten einen Kommentar.