GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

Docker Run vs Start vs Create :Différence expliquée

Si vous débutez avec Docker et que vous l'apprenez en suivant divers didacticiels, vous rencontrerez peut-être des termes tels que démarrer un conteneur docker, exécuter un conteneur docker ou créer un conteneur docker.

Ces termes suffisent à confondre un débutant docker car les trois commandes docker semblent similaires.

En fait, il est particulièrement difficile de faire la différence entre docker run et docker start.

L'exécution d'un conteneur n'est-elle pas la même chose que son démarrage ? Pas vraiment.

Laissez-moi vous l'expliquer.

Différence entre Docker run, Docker start et Docker create

Voici ce que font ces commandes :

Commande de création de Docker crée un nouveau conteneur frais à partir d'une image docker. Cependant, il ne l'exécute pas immédiatement.

Commande de démarrage de Docker démarrera tout conteneur arrêté. Si vous avez utilisé la commande docker create pour créer un conteneur, vous pouvez le démarrer avec cette commande.

Commande d'exécution Docker est une combinaison de create et start car il crée un nouveau conteneur et le démarre immédiatement. En fait, la commande docker run peut même extraire une image de Docker Hub si elle ne trouve pas l'image mentionnée sur votre système.

Voyons cela avec des exemples pour que les choses soient plus claires pour vous.

Voyons cela avec des exemples

Assurez-vous d'avoir installé Docker si vous souhaitez suivre les exemples.

Supposons que vous téléchargiez l'image Ubuntu depuis Docker Hub à l'aide de la commande docker pull ubuntu.

Vous pouvez voir toutes les images Docker disponibles sur votre système. Je n'ai que ubuntu dans cet exemple (pour éviter toute confusion):

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

Maintenant, créez un nouveau conteneur docker nommé container-1 avec la commande docker create :

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

Vous pouvez voir qu'il a créé un nouveau conteneur. Si vous essayez de voir tous les conteneurs en cours d'exécution, vous ne verrez pas le conteneur-1 car bien qu'il ait été créé, il n'a jamais été démarré.

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

Si vous cochez tous les conteneurs, qu'ils soient en cours d'exécution ou non, vous verrez que le conteneur-1 a le statut Créé :

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

Utilisons maintenant la commande docker run pour créer et exécuter un conteneur nommé conteneur-2 :

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

Vous pouvez voir que le conteneur-2 est en cours d'exécution car son statut est Up :

[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

Arrêtons ce conteneur en cours d'exécution :

[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

Maintenant que nous avons un conteneur arrêté, vous pouvez le redémarrer à l'aide de la commande docker start :

[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

Mais qu'advient-il du conteneur-1 qui a été créé à l'aide de la commande docker create ? Vous pouvez démarrer ce conteneur avec la commande docker start, puis utiliser docker exec pour exécuter quelque chose de spécifique avec.

J'espère que cet article vous a permis de mieux comprendre les commandes Docker Run, Docker Start et Docker Create. Je vous conseillerai de vous renseigner sur le cycle de vie des conteneurs pour mieux comprendre ce sujet.

Commandes Docker pour la gestion du cycle de vie des conteneursDécouvrez le concept de cycle de vie des conteneurs. Apprenez également les commandes Docker pour gérer chaque étape du cycle de vie des conteneurs. Manuel LinuxDebdut Chakraborty

Si vous avez des questions ou des suggestions, n'hésitez pas à laisser un commentaire ci-dessous.


Docker
  1. Comment exécuter Nginx dans un conteneur Docker :un guide étape par étape

  2. Comment créer, répertorier et supprimer des conteneurs Docker sous Linux

  3. Comment exécuter un programme dans un conteneur Docker ?

  4. Comment créer une image Docker à partir d'un conteneur et d'un Dockerfile

  5. Démarrer automatiquement les services dans le conteneur Docker

Comment exécuter Grafana dans un conteneur Docker

Comment créer une image Docker à partir d'un conteneur en cours d'exécution

Comment créer un conteneur d'application Django Docker

Comment exécuter des conteneurs Docker

Créer un simple conteneur Node.js Hello World Docker à partir de zéro

Exécuter Docker Container en arrière-plan (mode détaché)