Maison  >  Article  >  Opération et maintenance  >  Quelle est la différence entre créer et exécuter dans Docker

Quelle est la différence entre créer et exécuter dans Docker

WBOY
WBOYoriginal
2022-01-10 10:26:266518parcourir

Dans Docker, la commande create et la commande run peuvent créer un nouveau conteneur. La différence est que la commande create crée un nouveau conteneur mais ne le démarre pas, tandis que la commande run crée un nouveau conteneur et exécute une commande.

Quelle est la différence entre créer et exécuter dans Docker

L'environnement d'exploitation de ce tutoriel : système Linux7.3, version Docker-1.13.1, ordinateur Dell G3

Quelle est la différence entre créer et exécuter dans Docker

Voici les utilisations de ces commandes :

  • La commande docker create crée un tout nouveau conteneur à partir d'une image Docker. Cependant, il ne l'exécutera pas immédiatement.

  • La commande docker start démarrera tous les conteneurs arrêtés. Si vous avez créé un conteneur à l'aide de la commande docker create, vous pouvez utiliser cette commande pour le démarrer.

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

Voyons cela avec des exemples pour que vous puissiez savoir les choses plus clairement.

Voyons cela à travers un exemple

Si vous souhaitez suivre l'exemple, assurez-vous que Docker est installé.

Supposons que vous utilisiez la commande docker pull ubuntu pour télécharger l'image Ubuntu depuis Docker Hub.

Vous pouvez afficher toutes les images Docker disponibles sur votre système. Dans cet exemple, je n'ai qu'ubuntu (pour éviter toute confusion) :

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

Maintenant, créez un nouveau conteneur docker nommé conteneur-1 à l'aide de la commande docker create :

# docker create --name container-1 ubuntu
6a81a998658e9e0d3b612ee65b07d76a45d79812d860baf3f1cbc60fe997ebec

Vous pouvez voir qu'il a créé un nouveau conteneur. Si vous essayez d'afficher 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é.

# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

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

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

Maintenant, utilisons la commande docker run pour créer et exécuter un conteneur nommé conteneur- 2 :

# docker run -it -d --name container-2 ubuntu bash
6391c1a0cac6c9f5fc6f5cfb05d75a22c208e63223c3b231035a40a4b134c521

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

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

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

# 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

Maintenant, nous avons un conteneur arrêté que vous pouvez utiliser. Redémarrez-le avec la commande docker start :

# 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

Mais qu'arrive-t-il au conteneur-1 créé avec la commande docker create ? Vous pouvez démarrer ce conteneur à l'aide de la commande docker start, puis utiliser docker exec pour exécuter des éléments spécifiques.

Apprentissage recommandé : "Tutoriel vidéo Docker"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn