La gestion des images comprend l'établissement de la liste des images dans un dépôt, l'ajout de tags, la suppression de tags, la copie d'images dans un nouveau dépôt et la suppression d'images.
Pour en savoir plus sur le transfert d'une image locale vers Container Registry ou l'extraction d'une image stockée dans Container Registry, consultez la section Transférer et extraire des images.
Avant de commencer
Assurez-vous que les conditions suivantes sont remplies :
Vous avez activé Container Registry dans votre projet.
Vous avez configuré Docker pour s'authentifier auprès du registre.
Vous disposez des autorisations pour accéder au registre.
Répertorier des images selon leur emplacement de stockage
Vous pouvez répertorier les images dans des emplacements d'hôte spécifiques à l'aide de la console Google Cloud ou de la ligne de commande.
Console
Pour répertorier les images dans l'un de vos emplacements d'hôte :
Accédez à la page Container Registry.
Utilisez le sélecteur au-dessus de Nom pour choisir l'emplacement d'hôte. Les options incluent Tous les emplacements et les noms d'hôte actuellement utilisés par le projet, qui peuvent inclure gcr.io, us.gcr.io, eu.gcr.io ou asia.gcr.io.
gcloud
Pour répertorier les images qui se trouvent dans l'un de vos emplacements d'hôte, utilisez la commande suivante :
gcloud container images list --repository=[HOSTNAME]/[PROJECT-ID]
où :
[HOSTNAME]
est répertorié sousLocation
dans la console. Il s'agit de l'une des quatre options suivantes :gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
.[PROJECT-ID]
est l'ID du projet dans la console Google Cloud. Si l'ID du projet contient le signe deux-points (:
), consultez la section Projets à l'échelle du domaine.
Si vous disposez de registres imbriqués, répertoriez les images imbriquées en spécifiant le niveau du dépôt où elles sont stockées :
gcloud container images list --repository=[HOSTNAME]/[PROJECT-ID]/[IMAGE]
où [IMAGE]
est le dépôt contenant des images imbriquées.
Consultez également la documentation sur gcloud container images list
.
Répertorier les versions d'une image
Un registre peut contenir différentes versions d'une image. Ces versions possèdent le même nom d'image et sont identifiées par leur condensé et par leurs tags.
Console
Pour voir le condensé et les tags d'une image :
Accédez à la page Container Registry.
Cliquez sur le nom de l'image pour afficher les versions de cette image. Le condensé tronqué est répertorié sous Nom et les tags sont répertoriés sous Tags.
Pour obtenir le condensé complet, cliquez sur la version de l'image pour voir ses métadonnées. Le condensé s'appelle Condensé de l'image.
gcloud
Pour répertorier les condensés tronqués et les tags d'une image, exécutez la commande suivante :
gcloud container images list-tags [HOSTNAME]/[PROJECT-ID]/[IMAGE]
où :
[HOSTNAME]
est répertorié sousLocation
dans la console. Il s'agit de l'une des quatre options suivantes :gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
.[PROJECT-ID]
est l'ID du projet dans la console Google Cloud. Si l'ID du projet contient le signe deux-points (:
), consultez la section Projets à l'échelle du domaine.[IMAGE]
est le nom de l'image dans Container Registry.
Pour répertorier le condensé complet de la ou des versions d'une image spécifique, exécutez la commande suivante :
gcloud container images list-tags --format='get(digest)' [HOSTNAME]/[PROJECT-ID]/[IMAGE]
Consultez la documentation sur gcloud container images list-tags
.
Ajouter des tags à des images
Vous pouvez ajouter un tag à une image à l'aide de la console Google Cloud ou de la ligne de commande.
Un condensé est un identifiant unique généré automatiquement pour une version d'image. Un tag agit comme un libellé que vous pouvez appliquer à une version d'image spécifique.
Vous pouvez ajouter plusieurs tags à une image. Dans un dépôt, chaque tag d'une image doit être unique. Par exemple, si vous ajoutez le tag release-candidate
à la neuvième version de l'image, l'ajout de ce même tag à la dixième version déplacera le tag de la neuvième version vers la dixième version.
Si vous n'ajoutez pas de tags à une image, le client Docker ajoute le tag par défaut latest
.
Cela signifie que le tag latest
n'indique pas la version la plus récente d'une image.
Il correspond, en réalité, à une version d'image que vous avez spécifiquement taguée comme latest
ou à la dernière version non taguée d'une image. Étant donné que la signification de latest
n'est pas claire, nous vous recommandons d'éviter de vous fier au tag latest
.
Console
Pour ajouter un tag à une image hébergée dans Container Registry :
Accédez à la page Container Registry.
Cliquez sur le nom de l'image pour afficher la version de cette image.
Sous Tags, cliquez sur l'icône de modification.
Saisissez de nouveaux tags dans le champ, puis cliquez sur ENREGISTRER.
gcloud
Pour ajouter des tags à des images hébergées dans Container Registry, exécutez la commande gcloud
container images add-tag
:
gcloud container images add-tag \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG] \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[NEW_TAG]
ou
gcloud container images add-tag \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST] \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[NEW_TAG]
où :
[HOSTNAME]
est répertorié sousLocation
dans la console. Il s'agit de l'une des quatre options suivantes :gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
.[PROJECT-ID]
est l'ID du projet dans la console Google Cloud. Si l'ID du projet contient le signe deux-points (:
), consultez la section Projets à l'échelle du domaine.[IMAGE]
est le nom de l'image dans Container Registry.[TAG]
est un tag déjà appliqué à l'image.[IMAGE_DIGEST]
est la valeur de hachage sha256 du contenu de l'image.[NEW_TAG]
est le nouveau tag que vous ajoutez à l'image.
Consultez la documentation sur gcloud container images add-tag
pour en savoir plus sur cette commande.
Ajouter des tags à des images locales pour les héberger dans Container Registry
Pour transférer une image locale vers Container Registry, vous devez d'abord lui ajouter un tag correspondant au nom du registre, puis transférer l'image. Pour obtenir des instructions, consultez la section Transférer une image dans un registre.
Supprimer des tags d'images
Vous pouvez supprimer un tag d'une image dans Container Registry à l'aide de la méthode la console Google Cloud ou la ligne de commande.
Console
Accédez à la page Container Registry.
Cliquez sur le nom de l'image pour afficher la version de cette image.
Sous Tags, cliquez sur l'icône de modification.
Supprimez le tag, puis cliquez sur ENREGISTRER.
gcloud
Pour supprimer un tag d'une image, utilisez la commande suivante :
gcloud container images untag [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
où :
[HOSTNAME]
est répertorié sousLocation
dans la console. Il s'agit de l'une des quatre options suivantes :gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
.[PROJECT-ID]
est l'ID du projet dans la console Google Cloud. Si l'ID du projet contient le signe deux-points (:
), consultez la section Projets à l'échelle du domaine.[IMAGE]
est le nom de l'image dans Container Registry.[TAG]
est le tag que vous souhaitez supprimer.Consultez la documentation sur
gcloud container images untag
pour en savoir plus sur cette commande.
Copier des images dans un nouveau registre
Vous pouvez copier une image d'un dépôt vers un autre à l'aide de la ligne de commande. Vous devez avoir accès aux deux dépôts.
Pour copier une image d'un dépôt vers un autre, exécutez la commande gcloud
container images add-tag
et identifiez l'image à déplacer à l'aide de son tag :
gcloud container images add-tag \
[SOURCE_HOSTNAME]/[SOURCE_PROJECT-ID]/[SOURCE_IMAGE]:[SOURCE_TAG] \
[DESTINATION_HOSTNAME]/[DESTINATION_PROJECT-ID]/[DESTINATION_IMAGE]:[DESTINATION_TAG]
ou de son condensé :
gcloud container images add-tag \
[SOURCE_HOSTNAME]/[SOURCE_PROJECT-ID]/[SOURCE_IMAGE]@[IMAGE_DIGEST] \
[DESTINATION_HOSTNAME]/[DESTINATION_PROJECT-ID]/[DESTINATION_IMAGE]:[DESTINATION_TAG]
où, pour la source et la destination :
[HOSTNAME]
est l'emplacement où l'image est hébergée et correspond à l'une des quatre options suivantes :gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
.[PROJECT-ID]
est l'ID du projet dans la console Google Cloud. Si l'ID du projet contient le signe deux-points (:
), consultez la section Projets à l'échelle du domaine.[IMAGE]
est le nom de l'image dans Container Registry.[IMAGE_DIGEST]
est la valeur de hachage sha256 du contenu de l'image.[TAG]
est le tag qui identifie l'image source à déplacer ou le tag à appliquer à l'image dans le dépôt de destination.
Par exemple, si vous souhaitez copier l'image my-image
dans le dépôt d'un autre projet et dans l'hôte européen, mais que vous souhaitez conserver le nom de l'image et lui attribuer le même tag, utilisez :
gcloud container images add-tag \
gcr.io/[PROJECT-ID]/my-image:tag1 \
eu.gcr.io/[OTHER-PROJECT-ID]/my-image:tag1
où [PROJECT-ID]
et [OTHER-PROJECT-ID]
sont votre console Google Cloud
ID des projets
du projet de départ et de destination.
Vous devez avoir accès aux dépôts de ces deux projets. Si l'un de vos ID de projet contient le signe deux-points (:
), consultez la section Projets à l'échelle du domaine.
Consultez la documentation sur gcloud container images add-tag
pour en savoir plus sur cette commande.
Supprimer des images
Vous pouvez supprimer une image à l'aide de la console Google Cloud ou de la ligne de commande. La suppression d'une image est irréversible.
D'autres outils sont à votre disposition pour vous aider à gérer les images inutilisées. Par exemple, l'outil gcr-cleaner recherche et supprime les anciennes images en fonction de différents critères. La suppression d'images inutilisées peut vous aider à réduire les coûts de stockage. L'outil gcr-cleaner
n'est pas un produit Google officiel.
Pour supprimer une image de la console Google Cloud ou de gcloud CLI:
Console
Accédez à la page Container Registry.
Cliquez sur le nom de l'image pour voir la ou les version(s) de cette image.
Dans le registre, cochez la case à côté des versions de l'image que vous souhaitez supprimer.
Cliquez sur SUPPRIMER en haut de la page.
Dans la fenêtre Supprimer les éléments du dépôt, cliquez sur SUPPRIMER.
gcloud
Exécutez l'une des commandes suivantes :
Pour une image identifiée par son condensé :
gcloud container images delete [HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST]
Pour une image identifiée par son tag, et qui possède plusieurs tags :
gcloud container images delete [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG] --force-delete-tags
où :
[HOSTNAME]
est répertorié sousLocation
dans la console. Il s'agit de l'une des quatre options suivantes :gcr.io
,us.gcr.io
,eu.gcr.io
ouasia.gcr.io
.[PROJECT-ID]
est votre console Google Cloud. ID du projet. Si l'ID du projet contient le signe deux-points (:
), consultez la section Projets à l'échelle du domaine.[IMAGE]
est le nom de l'image dans Container Registry.[IMAGE_DIGEST]
est la valeur de hachage sha256 du contenu de l'image.[TAG]
est le tag de l'image que vous souhaitez supprimer.
Consultez la documentation sur gcloud container images delete
pour en savoir plus sur cette commande.
Étape suivante
- Obtenez plus d'informations sur la configuration du contrôle des accès.
- Découvrez les composants et fonctionnalités de Container Registry.