Au fur et à mesure que vous itérez sur votre application, vous devrez pousser de nouvelles images Docker vers le registre Docker. Une question naturelle se pose est de savoir comment versionner ces images. C'est là que les balises Docker entrent en scène. Les balises Docker se composent de trois parties : la première partie est l'espace de noms, la deuxième partie est le nom de l'image et la dernière partie est l'endroit où vous spécifiez la version.
Par défaut, le nom de l'image Docker est composé de composants de nom séparés par des barres obliques. Les balises Docker vous permettent de marquer les images pour plus de clarté. En termes simples, les balises Docker contiennent des informations très utiles, telles que la version du système d'exploitation. Cela joue un rôle très important dans le cycle de vie du développement, car les développeurs utilisent ces balises pour différencier la version de build.
Il existe deux types de balises : les balises stables et les balises uniques.
Balises stables
Une balise stable est une balise qui peut être utilisée et réutilisée pour maintenir l'image de base de votre conteneur. Vous devez éviter les balises stables pour les déploiements car il continue de recevoir des mises à jour au fil du temps. Il existe deux ensembles de balises stables : la version majeure et la version mineure :
- :1 - Spécifie la version principale.
- :1.0 - Spécifie également les balises stables pour la version 1.0
- :dernier - Spécifie la dernière version des balises stables.
Balises uniques
Il est recommandé d'utiliser des balises uniques pour les déploiements où vous souhaitez évoluer sur plusieurs nœuds. En termes simples, chaque image transmise à un registre Docker a une balise unique. Vous pouvez utiliser plusieurs modèles pour générer des balises uniques, y compris l'horodatage, la validation Git, le résumé de manifeste et l'ID de construction.
Ce tutoriel vous montre ce que sont les balises Docker et comment les utiliser.
Conditions
- Un serveur sous Linux avec Docker installé.
- Un mot de passe root configuré dans votre serveur.
Commencer
Avant de commencer, vérifiez que Docker est installé en exécutant la commande suivante :
informations sur les dockersVous devriez obtenir toutes les informations sur Docker à partir de cette commande, comme indiqué dans la sortie suivante :
Client:Mode de débogage : faux
Serveur:
Conteneurs : 0
En cours d'exécution : 0
En pause : 0
Arrêté : 0
Images : 1
Version du serveur : 19.03.12
Pilote de stockage : overlay2
Système de fichiers de sauvegarde : extfs
Prend en charge d_type : vrai
Diff d'overlay natif : vrai
Pilote de journalisation : fichier json
Pilote de groupe de contrôle : cgroupfs
Plugins :
Volume : local
Réseau : hôte de pont ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries locales splunk syslog
Essaim : inactif
Temps d'exécution : runc
Temps d'exécution par défaut : runc
Init binaire : docker-init
version conteneur : 7ad184331fa3e55e52b890ea95e65ba581ae3429
version runc : dc9208a3303feef5b3839f4323d9beb36df0a9dd
version initiale : fec3683
Options de sécurité:
apparence
seccomp
Profil : par défaut
Version du noyau : 5.4.0-29-générique
Système d'exploitation : Ubuntu 20.04 LTS
Type de système d'exploitation : Linux
Architecture : x86_64
Processeurs : 2
Mémoire totale : 3.844 Gio
Nom : ubuntu2004
ID: O35R:5XCI:WZGN:XUYI:IVKN:3QXX:KHMF:U4GT:KT2Y:6PWW:UURQ:HTEF
Répertoire racine Docker : /var/lib/docker
Mode de débogage : faux
Registre : https://index.docker.io/v1/
Étiquettes:
Expérimental : faux
Registres non sécurisés :
127.0.0.0/8
Restauration en direct activée : faux
Syntaxe des balises Docker
La syntaxe de base des balises Docker est illustrée ci-dessous :
balise docker "identifiant de l'image" image/baliseCi-dessus, le terme « id d'image » est la chaîne d'identification à 12 caractères de l'image, et « balise » spécifie la nouvelle balise de version.
Vous pouvez extraire une version spécifique d'une image Ubuntu du registre Docker Hub à l'aide de la balise image.
Par exemple, pour tirer le Ubuntu 18.04 depuis le Docker Hub, exécutez la commande suivante :
docker tirer ubuntu:18.04Cette commande recherchera toutes les images dans le registre Docker Hub et téléchargera l'image avec la balise 18.04, comme indiqué ci-dessous :
18.04 : Extraire de la bibliothèque/ubuntuf08d8e2a3ba1 : extraction terminée
3baa9cb2483b : Tirez terminé
94e5ff4c0b15 : Tirez terminé
1860925334f9 : tirer terminé
Résumé : sha256:05a58ded9a2c792598e8f4aa8ffe300318eac6f294bf4f49a7abae7544918592
Statut : Image plus récente téléchargée pour Ubuntu : 18.04
docker.io/bibliothèque/ubuntu:18.04
Ici, 18.04 est la balise d'une image Ubuntu.
Si vous ne fournissez aucune balise, la dernière version d'Ubuntu sera téléchargée.
Comment marquer une image
Tout d'abord, répertoriez toutes les images disponibles dans votre système hôte Docker à l'aide de la commande suivante :
images dockerVous devriez voir la sortie suivante après avoir entré la commande ci-dessus :
TAILLE CRÉÉE D'ID D'IMAGE D'ÉTIQUETTE DE RÉFÉRENCEUbuntu 18.04 6526a1858e5d il y a 3 semaines 64.2 Mo
Dans la sortie ci-dessus, vous devriez voir l'image Ubuntu avec l'ID 6526a1858e5d.
Marquez l'image Ubuntu avec le nom nginx à l'aide de la commande suivante :
étiquette docker 6526a1858e5d ubuntu/nginxMaintenant, vous pouvez lister votre image nouvellement taguée avec la commande suivante :
images dockerVous devriez voir votre image taguée dans la sortie suivante :
TAILLE CRÉÉE D'ID D'IMAGE D'ÉTIQUETTE DE RÉFÉRENCEUbuntu 18.04 6526a1858e5d il y a 3 semaines 64.2 Mo
ubuntu/nginx dernier 6526a1858e5d il y a 3 semaines 64.2 Mo
Si vous balisez une image sans spécifier de balise, la dernière balise lui est attribuée par défaut.
Conclusion
Comme vous l'avez vu, les balises Docker sont très utiles dans le cycle de vie du développement, vous permettant de gérer et de maintenir la version de votre application. J'espère que vous avez maintenant une compréhension suffisante des balises Docker.