Comment générer une image Docker à partir d'un conteneur

Comment Generer Une Image Docker A Partir D Un Conteneur



Les images Docker sont l'un des composants clés de la plate-forme Docker et jouent un rôle essentiel dans la création, le déploiement et l'expédition des applications Docker à l'intérieur du conteneur. Les images Docker sont des modèles ou des instantanés de conteneurs qui indiquent au conteneur comment conteneuriser et déployer l'application. Des milliers d'images officielles sont disponibles sur le registre Docker Hub pour conteneuriser l'application. Cependant, les utilisateurs peuvent également créer ces images selon leurs besoins à l'aide des services Dockerfile et Docker compose.

Parfois, les utilisateurs apportent des modifications aux paramètres du conteneur et de configuration, mais ces modifications ne sont pas validées dans l'image Docker. Pour enregistrer les modifications du conteneur dans l'image ou pour créer la sauvegarde du conteneur, les utilisateurs doivent créer une nouvelle image à partir du conteneur. Dans ce but précis, le «  validation du docker 'La commande peut être utilisée.

Ce guide démontrera :







Qu'est-ce que la commande « docker commit » ?

Le ' validation du docker 'La commande est l'un des utilitaires de ligne de commande de Docker qui est utilisé pour valider les modifications et les paramètres du conteneur dans l'image Docker. Il est également utilisé pour créer la sauvegarde du conteneur lorsque les utilisateurs doivent désencombrer le Docker en supprimant les conteneurs Docker. Cependant, la commande docker commit inclut uniquement le fichier conteneur et les modifications de configuration dans l'image Docker, elle n'enregistrera jamais les données du volume monté avec le conteneur.



Syntaxe



validation du docker < OPTIONS > < Nom du conteneur / ID du conteneur > < Nom de l'image >

Possibilités





Les options suivantes sont utilisées avec le « validation du docker ' pour créer une image à partir d'un conteneur de différentes manières :

< fort > Option fort > td >
< td >< fort > Description fort > td >
tr >
< tr >
< td >< fort > -un, --auteur fort > td >
< td > Il est utilisé pour spécifier le nom de l'auteur qui valide les modifications du conteneur. dans l'image. td >
tr >
< tr >
< td >< fort > -c, --changement fort > td >
< td > Ajoutez les instructions Dockerfile pour valider les modifications dans une image. td >
tr >
< tr >
< td >< fort > -m, --message fort > td >
< td > Ajouter le message de validation ou le commentaire alors que générer une image à partir du conteneur. td >
tr >
< tr >
< td >< fort > -p, --pause fort > td >
< td > Lors de la validation du conteneur, par défaut, le conteneur sera arrêté ou mis en pause. Pour empêcher le conteneur de se mettre en pause, le «  < fort > --pause= FAUX fort > 'L'option est utilisée.

Comment générer une image à partir d’un conteneur Docker ?

Lorsque l'utilisateur apporte des modifications au conteneur Docker directement via le shell du conteneur ou de manière non interactive, ces modifications ne modifient pas l'instantané du conteneur. Pour enregistrer ou valider des modifications, l'utilisateur peut générer une nouvelle image à partir du conteneur en utilisant le ' validation du docker ' commande. Ceci est également utile pour créer la sauvegarde du conteneur.



Pour créer une image via le conteneur Docker, parcourez l'illustration suivante.

Étape 1 : Créer un fichier Docker

Tout d’abord, créez un nouveau fichier nommé « Fichier Docker ' et n'ajoutez aucune extension de fichier avec le nom du fichier. Après cela, collez les commandes suivantes dans le « Dockerfile »

DE nginx : dernier

COPIER index.html / usr / partager / nginx / HTML / index.html

POINT D'ACCÈS [ 'nginx' , '-g' , 'démon éteint ;' ]

Ici le ' DEPUIS ' La commande est utilisée pour définir l'image de base du conteneur, le ' COPIE La commande ' copie le fichier programme dans le chemin spécifié du conteneur et le ' POINT D'ACCÈS ' La commande définit les exécutables par défaut du conteneur.

Étape 2 : Créer un fichier programme

Ensuite, créez un autre fichier ' index.html ' et ajoutez le code HTML suivant au fichier :

< HTML >

< tête >

< style >

corps {

couleur d'arrière-plan : RVB ( 9 , 4 , 4 ) ;

}

h1 {

couleur: rvb ( 221 , 219 , 226 ) ;

style de police : italique ;

}

style >

tête >

< corps >

< h1 > Ceci est la première page HTML h1 >

corps >

HTML >

Étape 3 : Créer l'instantané du conteneur

Maintenant, générez l’instantané du conteneur à partir du Dockerfile à l’aide de la commande ci-dessous. Ici le ' -t ' L'option est utilisée pour définir le nom de l'instantané :

construction de docker -t démo-img.

Étape 4 : Exécuter un instantané pour démarrer le conteneur

Ensuite, démarrez le conteneur en exécutant l'image du conteneur. À cet effet, utilisez le «  Docker Run ' commande:

exécution du docker -p 80 : 80 --nom démo-suite -d démo-img

Dans la commande ci-dessus, le ' -p ' L'option définit le port d'exposition du conteneur, ' -nom » précise le nom du conteneur et le « -d ' L'option exécute le conteneur en mode détaché :

Après avoir exécuté le conteneur, accédez au «  http://localhost:80 ' URL et vérifiez si le programme conteneurisé est accessible sur le port exposant ou non :

Le résultat ci-dessus montre que nous avons démarré avec succès le conteneur.

Étape 5 : Créer un nouveau fichier programme

Parfois, les utilisateurs peuvent être amenés à ajouter des fonctionnalités supplémentaires à l'application en cours d'exécution. À cette fin, l'utilisateur devra peut-être apporter des modifications au fichier programme ou ajouter des fichiers supplémentaires à l'application.

Pour cela, créons un autre fichier nommé « index1.html ' et collez le code suivant dans le fichier :

< HTML >

< tête >

< style >

corps {

couleur d'arrière-plan : RVB ( 106 , 103 , 103 ) ;

}

h1 {

couleur: rvb ( 221 , 219 , 226 ) ;

style de police : italique ;

}

style >

tête >

< corps >

< h1 > Ceci est la deuxième page HTML h1 >

corps >

HTML >

Étape 6 : Copier le nouveau fichier programme dans le conteneur

Pour copier le nouveau fichier dans le chemin du conteneur, utilisez le «  docker cp : ' commande. Ici, nous avons copié le « index1.html ' fichier vers le ' démo-suite ' chemin spécifié du conteneur :

docker CP index1.html démo-suite : / usr / partager / nginx / HTML / index1.html

Étape 7 : valider les modifications du conteneur dans une nouvelle image

Après avoir apporté des modifications dans un conteneur, les utilisateurs doivent valider les modifications dans une nouvelle image Docker. Cette image sera générée via un conteneur Docker. A cet effet, exécutez le ' docker commit ' commande:

docker commit démo-suite nouvelle-démo-img

Note: Apporter des modifications dans le conteneur Docker avant de générer l'image via « validation du docker « Le commandement n’est pas obligatoire. Les utilisateurs peuvent directement utiliser le « docker commit » pour générer la sauvegarde du conteneur en créant l'image.

Étape 8 : Confirmation

Pour vérifier si l'image est créée ou non via le conteneur, répertoriez les images Docker en utilisant le ' Images : docker ' commande:

Images : docker

Le résultat ci-dessous montre que nous avons généré avec succès le «  nouvelle-démo-img ' depuis ' démo-suite ' récipient:

Note: Pour transférer l'image Docker vers le registre du hub Docker, l'utilisateur peut également baliser l'image à l'aide du «  balise Docker ' commande:

balise Docker < nom de l'image > < nom du référentiel >>>< nom de l'image > : < étiqueter / version >

Étape 9 : Supprimer l’ancien conteneur

Maintenant, supprimez l’ancien conteneur. Pour cela, arrêtez d’abord le conteneur Docker à l’aide du bouton « docker stop ' commande:

docker stop démo-suite

Après avoir arrêté le conteneur, utilisez le « docker rm » pour le supprimer de Docker :

docker rm démo-suite

Étape 10 : Exécuter un nouveau conteneur à partir d’une nouvelle image validée

Maintenant, démarrez la nouvelle instance ou le conteneur Docker en utilisant l'image nouvellement générée via le ' exécution du docker ' commande:

exécution du docker -p 80 : 80 --nom démo-suite -d nouvelle-démo-img

Maintenant, accédez au « hôte local : 80 ' et vérifiez si l'application HTML fonctionne efficacement ou non :

Pour vérifier le fichier nouvellement copié qui est ' index1.html », utilisez le « http://localhost/index1.html ' URL :

Le résultat ci-dessus montre que les modifications validées sont enregistrées avec succès dans le dossier « nouvelle-démo-img ' Image Docker et nous avons effectivement exécuté le conteneur modifié.

Comment définir l'auteur d'une image ?

Le ' validation du docker ' La commande prend également en charge différentes options pour ajouter des informations supplémentaires ainsi que les modifications validées, telles que l'auteur des nouvelles modifications, le message de validation, etc.

Pour spécifier l'auteur de l'image qui valide les nouvelles modifications, suivez les étapes indiquées.

Étape 1 : Définir l'auteur de l'image

Pour spécifier l'auteur de l'image qui effectue les modifications, utilisez le ' -un ' ou ' -auteur ' option avec ' validation du docker ' commande:

validation du docker -un rafia démo-suite nouvelle-démo-img

Étape 2 : Inspecter l'image

Pour vérifier si l'auteur de l'image est défini ou non, inspectez l'image nouvellement générée à l'aide du ' docker inspecte ' commande:

docker inspecte la nouvelle-démo-img

Le résultat montre que nous avons effectivement défini l'auteur de l'image :

Comment définir un message de validation d'image ?

Pour définir le message de validation ainsi que les modifications de validation, utilisez le «  -m ' option. À titre d’illustration, suivez les instructions ci-dessous.

Étape 1 : Définir le message de validation de l'image

Pour définir le message ainsi que les modifications validées, utilisez le bouton « docker commit -m <« message »> ' commande:

validation du docker -un raphia -m 'Cette image est générée par conteneur' démo-suite nouvelle-démo-img

Étape 2 : Inspecter l'image

Pour vérifier le message de validation, inspectez l'image via le ' docker inspecte ' commande:

docker inspecte la nouvelle-démo-img

Sous le ' Commentaire ', l'utilisateur peut voir le message de validation comme indiqué ci-dessous :

Il s'agit de générer une image Docker à partir d'un conteneur.

Conclusion

Pour générer une image Docker à partir d'un conteneur, effectuez d'abord les modifications dans le conteneur Docker. Après cela, utilisez le « docker commit » pour générer l’image à partir du conteneur. Maintenant, supprimez l'ancien conteneur et démarrez la nouvelle instance via l'image nouvellement générée. Les utilisateurs peuvent également définir le nom de l'auteur de l'image à l'aide du bouton « -un ' et validez le message en utilisant l'option ' -m ' option. Ce blog a illustré comment générer des images à partir d'un conteneur Docker.