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 ChakrabortySi vous avez des questions ou des suggestions, n'hésitez pas à laisser un commentaire ci-dessous.