Heim > Betrieb und Instandhaltung > Docker > Was ist der Unterschied zwischen Erstellen und Ausführen im Docker?

Was ist der Unterschied zwischen Erstellen und Ausführen im Docker?

WBOY
Freigeben: 2022-01-10 10:26:26
Original
6570 Leute haben es durchsucht

In Docker können sowohl der Befehl „create“ als auch der Befehl „run“ einen neuen Container erstellen. Der Unterschied besteht darin, dass der Befehl „create“ einen neuen Container erstellt, ihn aber nicht startet, während der Befehl „run“ einen neuen Container erstellt und einen Befehl ausführt.

Was ist der Unterschied zwischen Erstellen und Ausführen im Docker?

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-1.13.1-Version, Dell G3-Computer

Was ist der Unterschied zwischen Erstellen und Ausführen in Docker?

Die folgenden sind die Verwendungsmöglichkeiten dieser Befehle:

  • Der Befehl „docker create“ erstellt einen brandneuen Container aus einem Docker-Image. Es wird jedoch nicht sofort ausgeführt.

  • Der Docker-Startbefehl startet alle gestoppten Container. Wenn Sie einen Container mit dem Befehl docker create erstellt haben, können Sie ihn mit diesem Befehl starten.

  • Der Docker-Run-Befehl ist eine Kombination aus create und start, da er einen neuen Container erstellt und ihn sofort startet. Tatsächlich kann der Befehl „docker run“ das Image sogar vom Docker Hub abrufen, wenn er das obige Image auf Ihrem System nicht finden kann.

Sehen wir es uns anhand von Beispielen an, damit Sie die Dinge klarer wissen.

Sehen wir uns das anhand eines Beispiels an.

Wenn Sie dem Beispiel folgen möchten, stellen Sie sicher, dass Sie Docker installiert haben.

Angenommen, Sie verwenden den Befehl docker pull ubuntu, um das Ubuntu-Image vom Docker Hub herunterzuladen.

Sie können alle verfügbaren Docker-Images auf Ihrem System anzeigen. In diesem Beispiel habe ich nur Ubuntu (um Verwirrung zu vermeiden):

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              775349758637        5 weeks ago         64.2MB
Nach dem Login kopieren

Erstellen Sie nun einen neuen Docker-Container mit dem Namen „container-1“ mit dem Docker-Create-Befehl:

# docker create --name container-1 ubuntu
6a81a998658e9e0d3b612ee65b07d76a45d79812d860baf3f1cbc60fe997ebec
Nach dem Login kopieren

Sie können sehen, dass ein neuer Container erstellt wurde. Wenn Sie versuchen, alle laufenden Container anzuzeigen, wird Container-1 nicht angezeigt, da er zwar erstellt, aber nie gestartet wurde.

# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
Nach dem Login kopieren

Wenn Sie alle Container überprüfen, ob sie laufen oder nicht, werden Sie sehen, dass Container-1 den Status „Erstellt“ hat:

# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
6a81a998658e        ubuntu              "/bin/bash"         18 seconds ago      Created                                 container-1
Nach dem Login kopieren

Nun verwenden wir den Docker-Run-Befehl, um einen Container namens Container- zu erstellen und auszuführen. 2:

# docker run -it -d --name container-2 ubuntu bash
6391c1a0cac6c9f5fc6f5cfb05d75a22c208e63223c3b231035a40a4b134c521
Nach dem Login kopieren

Sie können sehen, dass Container-2 ausgeführt wird, da sein Status „Gestartet“ ist:

# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
6391c1a0cac6        ubuntu              "bash"              About a minute ago   Up About a minute                       container-2
Nach dem Login kopieren

Stoppen wir diesen laufenden Container:

# docker stop container-2
container-2
# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
6391c1a0cac6        ubuntu              "bash"              2 minutes ago       Exited (0) 28 seconds ago                       container-2
6a81a998658e        ubuntu              "/bin/bash"         3 minutes ago       Created                                         container-1
Nach dem Login kopieren

Jetzt haben wir einen gestoppten Container, den Sie mit dem Docker-Startbefehl erneut starten können :

# docker start container-2
container-2
# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
6391c1a0cac6        ubuntu              "bash"              2 minutes ago       Up 2 seconds                            container-2
Nach dem Login kopieren

Aber was passiert mit Container-1, der mit dem Docker-Create-Befehl erstellt wurde? Sie können diesen Container mit dem Docker-Startbefehl starten und dann Docker Exec verwenden, um bestimmte Dinge auszuführen.

Empfohlenes Lernen: „Docker-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Erstellen und Ausführen im Docker?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage