Image de l’éditeur | À mi-parcours et Canva
Apprenez à utiliser les balises Docker pour gérer différentes versions de vos images Docker, assurant ainsi des flux de développement cohérents et organisés. Ce guide couvre les meilleures pratiques pour le balisage, la mise à jour et la maintenance des images Docker.
Conditions préalables
Avant de commencer :
- Docker doit être installé dans votre environnement de développement. Obtenez Docker si ce n’est pas déjà fait.
- Un exemple d’application que vous souhaitez Dockeriser. Vous pouvez utiliser cet exemple sur GitHub si vous le souhaitez.
Marquage des images Docker
Une balise Docker est une étiquette qui pointe vers une image spécifique dans un référentiel. Par défaut, Docker utilise la balise latest
si aucune balise n’est spécifiée. Cependant, pour des versions distinctes de votre application, il est recommandé d’utiliser des balises explicites. Ces balises permettent de distinguer les différentes versions ou états d’une image.
Supposons que vous ayez un projet Python : une application Flask pour la gestion des stocks avec tous les fichiers requis dans le répertoire du projet :
project-dir/
├── app.py
├── Dockerfile
├── requirements.txt
Vous pouvez baliser une image lors de sa construction comme ceci :
$ docker build -t image_name:tag_name .
Construisons maintenant l’image inventory-app
et étiquetons-la :
$ docker build -t inventory-app:1.0.0 .
Ici :
inventory-app
est le nom du référentiel ou de l’image.1.0.0
est la balise pour cette version spécifique de l’image.
Utilisez la commande docker images
pour afficher l’image nouvellement construite avec la balise spécifiée :
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
inventory-app 1.0.0 32784c60a992 6 minutes ago 146MB
Vous pouvez également baliser une image existante comme suit :
$ docker tag inventory-app:1.0.0 inventory-app:latest
Ici, nous marquons une image existante inventory-app:1.0.0
comme inventory-app:latest
. Vous verrez que nous avons deux images d’application d’inventaire avec des balises différentes mais le même ID d’image :
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
inventory-app 1.0.0 32784c60a992 6 minutes ago 146MB
inventory-app latest 32784c60a992 5 minutes ago 146MB
Transférer des images marquées vers un référentiel
Pour partager vos images Docker, vous pouvez les transférer vers un référentiel Docker (comme DockerHub). Créez un compte DockerHub gratuit, connectez-vous et envoyez des images. Vous devez d’abord vous connecter à DockerHub :
Vous serez invité à saisir votre nom d’utilisateur et votre mot de passe. Une fois l’authentification réussie, vous pouvez pousser l’image balisée avec la commande docker push
.
Assurez-vous que le nom de votre référentiel correspond à votre nom d’utilisateur ou organisation Docker Hub. Si votre nom d’utilisateur Docker Hub est user
et vous souhaitez pousser la version 1.0.1 de l’image, vous marquez votre image comme user/inventory-app:1.0.1
:
$ docker tag user/inventory-app:1.0.1
$ docker push user/inventory-app:1.0.1
Lorsque vous devez utiliser une version spécifique d’une image, vous pouvez l’extraire à l’aide de la balise :
$ docker pull user/inventory-app:1.0.1
Meilleures pratiques pour le balisage des images Docker
Voici quelques bonnes pratiques à suivre lors du balisage d’images Docker :
- Utiliser le versionnement sémantique : suivez un schéma de version comme
MAJOR.MINOR.PATCH
(1.0.0, 1.0.1). Cela aide à identifier l’importance des changements. - Évitez d’utiliser
latest
pour la production : utilisez des balises de version explicites pour les déploiements de production. - Automatisez le balisage dans les pipelines CI/CD : Intégrez le balisage Docker dans vos pipelines CI/CD pour garantir une gestion des versions cohérente et automatique.
- Inclure des métadonnées dans les balises : Si cela a du sens, ajoutez des numéros de build, des hachages de validation ou des dates dans les balises.
En suivant ces pratiques lors de l’utilisation des balises Docker, vous pouvez conserver un ensemble d’images Docker propre, organisé et versionné.
Ressources additionnelles
Voici quelques ressources qui vous seront utiles :
Bala Priya C est une développeuse et rédactrice technique indienne. Elle aime travailler à l’intersection des mathématiques, de la programmation, de la science des données et de la création de contenu. Ses domaines d’intérêt et d’expertise incluent le DevOps, la science des données et le traitement du langage naturel. Elle aime lire, écrire, coder et prendre le café ! Actuellement, elle travaille à l’apprentissage et au partage de ses connaissances avec la communauté des développeurs en créant des didacticiels, des guides pratiques, des articles d’opinion, etc. Bala crée également des aperçus de ressources attrayants et des didacticiels de codage.