Maison  >  Article  >  Opération et maintenance  >  Quelle est la différence entre les images et les conteneurs dans Docker

Quelle est la différence entre les images et les conteneurs dans Docker

WBOY
WBOYoriginal
2022-02-11 18:00:3017371parcourir

La différence entre les images et les conteneurs dans Docker : 1. Une image est un modèle qui contient divers environnements ou services, tandis qu'un conteneur est une instance d'une image 2. Une image ne peut pas être exécutée et est statique, alors qu'un conteneur peut le faire. run Oui, c'est dynamique.

Quelle est la différence entre les images et les conteneurs 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 une image et un conteneur dans docker ?

1. Image Docker

Ce n'est vraiment pas facile de comprendre la différence entre une image Docker et un conteneur Docker.

En supposant que le noyau Linux est la couche 0, quelle que soit la façon dont vous exécutez Docker, il s'exécutera au-dessus de la couche du noyau. Cette image Docker est une image en lecture seule, située au niveau de la couche 1. Elle ne peut pas être modifiée ou l'état ne peut pas être enregistré.

Une image Docker peut être construite sur une autre image Docker, et cette relation en cascade peut être multicouche. Le calque d'image du premier calque est appelé image de base (Base Image) et les images des autres calques (à l'exception du calque supérieur) sont appelées image parent (Parent Image). Ces images héritent de toutes les propriétés et paramètres de leur image parent et ajoutent leur propre configuration dans le Dockerfile.

Les images Docker sont identifiées par leur identifiant d'image. L'ID de l'image est une chaîne hexadécimale de 64 caractères. Mais lorsque nous exécutons une image, nous n'utilisons généralement pas l'ID de l'image pour faire référence à l'image, mais le nom de l'image. Pour lister toutes les images locales valides, vous pouvez utiliser la commande

# docker images

Les miroirs peuvent être publiés sous différentes versions. Ce mécanisme est appelé Tag.

Quelle est la différence entre les images et les conteneurs dans Docker

Comme le montre l'image ci-dessus, l'image neo4j a deux versions : la dernière version et la version 2.1.5.

Vous pouvez utiliser la commande pull pour ajouter l'étiquette spécifiée :

# docker pull ubuntu:14.04
# docker pull ubuntu:12.04

2. Conteneur Docker

Le conteneur Docker peut être créé à l'aide de la commande :

# docker run imagename

Il ajoutera un calque inscriptible au-dessus de tous les calques d'image. Cette couche inscriptible comporte des processus en cours d'exécution sur le processeur et a deux états différents : en cours d'exécution et quitté. Il s'agit du conteneur Docker. Lorsque nous utilisons docker run pour démarrer le conteneur, le conteneur Docker entre dans l'état d'exécution. Lorsque nous arrêtons le conteneur Docker, il entre dans l'état de sortie.

Lorsque nous avons un conteneur Docker en cours d'exécution, toutes les modifications que nous y apportons de l'état d'exécution à l'état arrêté seront écrites de manière permanente dans le système de fichiers du conteneur. N'oubliez pas que les modifications apportées au conteneur sont écrites dans le système de fichiers du conteneur et non dans l'image Docker.

Nous pouvons utiliser la même image pour démarrer plusieurs conteneurs Docker. Ces conteneurs sont tous actifs après le démarrage et sont isolés les uns des autres. Les modifications que nous apportons à l’un des conteneurs seront limitées uniquement à ce conteneur lui-même.

Si l'image sous-jacente du conteneur est modifiée, le conteneur en cours d'exécution ne sera pas affecté et les mises à jour automatiques n'auront pas lieu.

Si nous voulons mettre à jour un conteneur vers une nouvelle version de son image, nous devons veiller à ce que nous construisions la structure de données de la bonne manière, sinon nous risquons de perdre toutes les données du conteneur.

Une chaîne hexadécimale de 64 caractères pour définir l'ID du conteneur, qui est l'identifiant unique du conteneur. L'interaction entre les conteneurs est identifiée par l'ID du conteneur. Étant donné que les caractères de l'ID du conteneur sont trop longs, nous n'avons généralement besoin de saisir que les 4 premiers caractères de l'ID du conteneur. Bien entendu, nous pouvons également utiliser le nom du conteneur, mais il est évidemment plus simple d'utiliser un identifiant de conteneur à 4 caractères.

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