Taguer et Partager Votre Image Docker
Maintenant que nous avons créé une image Docker personnalisée, nous allons apprendre à la taguer correctement et à la préparer pour le partage. Dans un scénario réel, vous enverriez l'image vers un registre tel que Docker Hub, mais dans ce tutoriel, nous nous concentrerons sur les étapes de préparation.
Les images Docker sont identifiées par leur nom de dépôt et leur tag. Les tags aident au versioning et à l'organisation des images. Le tag par défaut est latest, mais il est de bonne pratique d'utiliser des tags de version significatifs.
Ajoutons quelques tags supplémentaires à notre image personnalisée :
docker tag my-custom-nginx:v1 my-custom-nginx:latest
docker tag my-custom-nginx:v1 my-custom-nginx:stable
Ces commandes créent deux tags supplémentaires pour notre image : latest et stable. Les données d'image réelles sont partagées entre les trois tags, cette opération est donc très efficace.
Vérifions à nouveau nos images :
docker images
Vous devriez maintenant voir plusieurs entrées pour my-custom-nginx :
REPOSITORY TAG IMAGE ID CREATED SIZE
my-custom-nginx v1 a1b2c3d4e5f6 10 minutes ago 142MB
my-custom-nginx latest a1b2c3d4e5f6 10 minutes ago 142MB
my-custom-nginx stable a1b2c3d4e5f6 10 minutes ago 142MB
nginx latest 605c77e624dd 2 weeks ago 142MB
Notez que toutes les images my-custom-nginx ont le même ID d'image, ce qui indique qu'il s'agit de la même image avec des tags différents.
Préparation pour la Distribution d'Images
Dans un scénario réel, vous enverriez votre image vers un registre tel que Docker Hub. Pour ce faire, vous auriez besoin de :
- Créer un compte sur Docker Hub
- Vous connecter à Docker Hub depuis votre terminal
- Taguer votre image avec votre nom d'utilisateur Docker Hub
- Envoyer l'image
À des fins de démonstration, supposons que votre nom d'utilisateur Docker Hub est yourusername. Voici comment vous prépareriez votre image pour l'envoi :
docker tag my-custom-nginx:v1 yourusername/my-custom-nginx:v1
Pour envoyer l'image (dans un scénario réel), vous utiliseriez :
## Ceci est uniquement à des fins de démonstration - nous n'enverrons pas réellement
## docker push yourusername/my-custom-nginx:v1
Enregistrement d'une Image Docker dans un Fichier
Au lieu d'envoyer vers un registre, vous pouvez également enregistrer une image Docker dans un fichier pour un transfert manuel :
docker save -o my-custom-nginx.tar my-custom-nginx:v1
Cette commande enregistre l'image dans une archive tar nommée my-custom-nginx.tar. Vous pouvez vérifier que le fichier a été créé :
ls -lh my-custom-nginx.tar
Vous devriez voir une sortie similaire à :
-rw------- 1 labex labex 142M Nov 10 12:34 my-custom-nginx.tar
Chargement d'une Image à partir d'un Fichier
Pour charger une image à partir d'une archive tar sur une autre machine (ou la même machine après avoir supprimé l'image), vous utiliseriez :
## Nous n'exécuterons pas réellement cette commande dans le cadre du tutoriel
## docker load -i my-custom-nginx.tar
Exportation de la Documentation du Conteneur
Pour aider les autres à comprendre votre image personnalisée, il est de bonne pratique de documenter les modifications que vous avez apportées. Créons un simple fichier de documentation :
cat > my-custom-nginx-doc.txt << EOF
## My Custom Nginx Image
This is a custom Nginx image created by cloning the official Nginx image.
### Changes Made
- Replaced the default welcome page with a custom HTML page
### How to Run
docker run --name my-custom-container -d -p 8080:80 my-custom-nginx:v1
### Version History
- v1: Initial custom version with modified welcome page
EOF
Vous avez maintenant un fichier de documentation pour votre image personnalisée.
Félicitations ! Vous avez appris à taguer votre image Docker et à la préparer pour le partage. Dans l'étape suivante, nous allons passer en revue certaines bonnes pratiques et nettoyer notre environnement.