Étiquetage d'images dans le docker

J'ai un serveur jenkins suivi d'un repo git et la construction d'une image docker sur un changement de code. L' .répertoire git est ignoré dans le cadre de la construction, mais je veux associer le git commit de hachage avec l'image de sorte que je sais exactement quelle version du code a été utilisé pour le faire, et de vérifier si l'image est à jour.

La solution évidente est de la balise de l'image avec quelque chose comme "application-nom-direction générale-nom:-validation de hachage", mais pour beaucoup de développer les branches je veux seulement garder la dernière bonne construction et en ajoutant des balises va faire le nettoyage de vieux construit plus difficile (plutôt que d'utiliser le numéro de build jenkins comme l'image est construite, puis retagging :dernière et untagging le numéro de build)

L'autre possibilité est d'étiquettes, mais tout cela avait l'air prometteur au départ, il s'est avéré plus compliqué dans la pratique..

Le seul moyen que je vois pour appliquer une étiquette directement à une image est dans le Dockerfile, qui ne peuvent pas utiliser la construction des variables d'environnement, donc j'aurais besoin d'utiliser une sorte de création de modèles pour produire une coutume Dockerfile.

L'autre façon d'appliquer une étiquette est de démarrer un conteneur de l'image avec une simple commande (par exemple, bash) et en passant dans les étiquettes comme docker run arguments. Le récipient peut alors être engagé en tant que nouvelle image. Cela a l'effet pervers de rendre l'image par défaut de la commande ce qui a été utilisé avec l'étiquetage de conteneurs (si bash dans ce cas) plutôt que de tout ce qui était à l'origine, Dockerfile. Pour mon application, je ne peux pas utiliser la commande réelle, car il va commencer à changer l'état de l'application.

Aucune de ces semblent particulièrement idéale à quelqu'un d'autre a trouvé une meilleure façon de faire cela?

source d'informationauteur user1130072