GNU/Linux >> Linux Esercitazione >  >> Panels >> Docker

Docker Run vs Start vs Create:spiegazione della differenza

Se non conosci Docker e lo impari seguendo vari tutorial, potresti imbatterti in termini come avviare contenitore mobile, eseguire contenitore mobile o creare contenitore mobile.

Questi termini sono sufficienti per confondere un principiante della finestra mobile perché tutti e tre i comandi della finestra mobile sembrano simili.

In effetti, è particolarmente difficile distinguere tra docker run e docker start.

L'esecuzione di un container non equivale all'avvio? Non proprio.

Lascia che te lo spieghi.

Differenza tra esecuzione Docker, avvio Docker e creazione Docker

Ecco cosa fanno questi comandi:

Comando di creazione Docker crea un nuovo contenitore nuovo da un'immagine Docker. Tuttavia, non lo esegue immediatamente.

Comando di avvio di Docker avvierà qualsiasi contenitore fermo. Se hai utilizzato il comando docker create per creare un contenitore, puoi avviarlo con questo comando.

Comando di esecuzione di Docker è una combinazione di crea e avvia poiché crea un nuovo contenitore e lo avvia immediatamente. In effetti, il comando docker run può anche estrarre un'immagine da Docker Hub se non trova l'immagine menzionata sul tuo sistema.

Vediamolo con esempi in modo che le cose ti siano più chiare.

Vediamolo con esempi

Assicurati di aver installato Docker se vuoi seguire gli esempi.

Diciamo che scarichi l'immagine di Ubuntu da Docker Hub usando il comando docker pull ubuntu.

Puoi vedere tutte le immagini della finestra mobile disponibili sul tuo sistema. Ho solo Ubuntu in questo esempio (per evitare confusione):

[email protected]:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              775349758637        5 weeks ago         64.2MB

Ora crea un nuovo contenitore Docker denominato container-1 con il comando di creazione finestra mobile:

[email protected]:~$ docker create --name container-1 ubuntu
2d9a8c190e6c9b3cbbc032a87762bfbc92f1dc0dd30abbe9bdb3ed7e74a6480f

Puoi vedere che ha creato un nuovo contenitore. Se provi a vedere tutti i contenitori in esecuzione, non vedrai il contenitore-1 perché sebbene sia stato creato, non è mai stato avviato.

[email protected]:~$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

Se controlli tutti i contenitori, indipendentemente dal fatto che siano in esecuzione o meno, vedrai che il contenitore-1 ha lo stato Creato:

[email protected]:~$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
2d9a8c190e6c        ubuntu              "/bin/bash"         18 seconds ago      Created                                 container-1

Ora utilizziamo il comando docker run per creare ed eseguire un contenitore denominato container-2:

[email protected]:~$ docker run -it -d --name container-2 ubuntu bash
13dc0f4226dc8d9d86e41d927c5616654d8263da2cc8c667aaa5b4dbd7f7e9b3

Puoi vedere che il container-2 è in esecuzione poiché il suo stato è Su:

[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

Fermiamo questo contenitore in esecuzione:

[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

Ora che abbiamo un contenitore interrotto, puoi riavviarlo utilizzando il comando di avvio della finestra mobile :

[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

Ma cosa succede al container-1 che è stato creato usando il comando docker create? Puoi avviare questo contenitore con il comando docker start e quindi utilizzare docker exec per eseguire qualcosa di specifico con esso.

Spero che questo articolo ti abbia dato una migliore comprensione del comando Docker Run, Docker Start e Docker Create. Ti consiglierò di conoscere il ciclo di vita del contenitore per comprendere ulteriormente questo argomento.

Comandi Docker per la gestione del ciclo di vita dei containerScopri il concetto di ciclo di vita dei container. Impara anche i comandi Docker per gestire ogni fase del ciclo di vita dei container. Linux HandbookDebdut Chakraborty

Se hai domande o suggerimenti, non esitare a lasciare un commento qui sotto.


Docker
  1. Come eseguire Nginx in un contenitore Docker:una guida passo passo

  2. Come creare, elencare ed eliminare contenitori Docker su Linux

  3. differenza tra podman e docker.

  4. Un'introduzione a Docker

  5. Come eseguire MySQL in un contenitore Docker

Come eseguire Grafana in un contenitore Docker

Come creare un'immagine Docker da un contenitore in esecuzione

Come creare un contenitore dell'applicazione Django Docker

Come eseguire i contenitori Docker

Crea da zero un semplice contenitore Docker Node.js Hello World

Esegui Docker Container in background (modalità separata)