Artifact Registry vous permet d'organiser et de gérer les images de conteneurs dans vos dépôts Docker. Vous pouvez inspecter le contenu du dépôt, mettre à jour ou supprimer les tags de version, et supprimer les versions inutilisées pour réduire les coûts de stockage.
Pour en savoir plus sur le transfert et l'extraction d'images, consultez Transférer et extraire des images.
Avant de commencer
- Si le dépôt cible n'existe pas, créez-en un.
- Vérifiez que vous disposez des autorisations requises pour le dépôt.
- (Facultatif) Configurez des valeurs par défaut pour les commandes gcloud.
Rôles requis
Pour obtenir les autorisations nécessaires pour gérer les images, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le dépôt :
-
Afficher les images, les fichiers dans les images et les tags : Lecteur Artifact Registry (
roles/artifactregistry.reader) -
Taguer des images ou modifier des tags à l'aide d'Artifact Registry :
Rédacteur Artifact Registry (
roles/artifactregistry.writer) -
Supprimer des images ou des tags : Administrateur de dépôts Artifact Registry (
roles/artifactregistry.repoAdmin)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Répertorier des images
Modes de dépôt : standard, distant
Vous pouvez lister les images à l'aide de la CLI Google Cloud console ou de gcloud CLI.
La liste des dépôts inclut les dépôts Artifact Registry et Container Registry. Pour utiliser des images dans un dépôt Container Registry, consultez la documentation Container Registry sur la gestion des images.Console
Pour afficher les images d'un dépôt :
Ouvrez la page Dépôts dans la console Google Cloud .
Cliquez sur le dépôt contenant l'image de conteneur.
Cliquez sur une image pour afficher ses versions.
gcloud
Pour lister toutes les images du projet, du dépôt et de l'emplacement par défaut lorsque les valeurs par défaut sont configurées :
gcloud artifacts docker images list
Pour lister les images d'un dépôt dans un emplacement spécifique, exécutez la commande suivante :
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY
Pour lister tous les résumés et tags d'une image spécifique, exécutez la commande suivante :
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
--include-tags
Remplacez les valeurs suivantes :
- LOCATION est l'emplacement régional ou multirégional du dépôt.
- PROJECT est l'ID de votre projet Google Cloud . Si votre ID de projet contient un deux-points (
:), consultez Projets à portée de domaine. - REPOSITORY est le nom du dépôt où l'image est stockée.
- IMAGE est le nom de l'image dans le dépôt.
--include-tagsaffiche toutes les versions des images, y compris les condensés et les tags. Si cet indicateur est omis, la liste renvoyée n'inclut que les images de conteneur de premier niveau.
Prenons l'exemple d'une image présentant les caractéristiques suivantes :
- Emplacement du dépôt :
us-west1 - Nom du dépôt :
my-repo - ID du projet :
my-project - Nom de l'image :
my-image
Le nom complet du dépôt est le suivant :
us-west1-docker.pkg.dev/my-project/my-repo
Le nom complet de l'image est le suivant :
us-west1-docker.pkg.dev/my-project/my-repo/my-image
Pour en savoir plus sur le format du nom de l'image, consultez Noms de dépôts et d'images.
Lister les fichiers
Modes de dépôt : standard, distant
Vous pouvez lister les fichiers d'un dépôt, les fichiers de toutes les versions d'une image de conteneur spécifiée ou les fichiers d'une version spécifique d'une image.
Pour toutes les commandes suivantes, vous pouvez définir un nombre maximal de fichiers à renvoyer en ajoutant le flag --limit à la commande.
Pour lister tous les fichiers du projet, du dépôt et de l'emplacement par défaut lorsque les valeurs par défaut sont configurées :
gcloud artifacts files list
Pour lister les fichiers d'un projet, d'un dépôt et d'un emplacement spécifiques, exécutez la commande suivante :
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION
Pour lister les fichiers de toutes les versions d'une image de conteneur spécifique :
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE
Pour lister les fichiers d'une version spécifique d'image de conteneur :
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--version=VERSION
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--tag=TAG
Remplacez les valeurs suivantes :
LOCATION: emplacement régional ou multirégional du dépôt.PROJECT: ID de votre projet Google Cloud . Si votre ID de projet contient un deux-points (:), consultez Projets à portée de domaine.REPOSITORY: nom du dépôt où l'image est stockée.PACKAGE: nom de l'image.VERSION: condensé de l'image, chaîne commençant parsha256:.TAG: tag associé à l'image de conteneur.
Exemples
Prenons l'exemple des informations suivantes sur une image :
- Projet :
my-project - Dépôt :
my-repo - Emplacement du dépôt :
us-west1 - Image :
my-app
La commande suivante liste tous les fichiers du dépôt my-repo à l'emplacement us-west1 dans le projet par défaut :
gcloud artifacts files list \
--location=us-west1 \
--repository=my-repo
sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356.
gcloud artifacts files list \
--project=my-project \
--location=us-west1 \
--repository=my-repo \
--package=my-app \
--version=sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356
1.0-dev.
gcloud artifacts files list \
--project=my-project \
--location=us-west1 \
--repository=my-repo \
--package=my-app \
--tag=1.0-dev
Ajouter des tags à des images
Vous pouvez taguer des images existantes dans un dépôt Artifact Registry ou les taguer avant de les transférer vers un dépôt.
Ajouter des tags aux images d'un dépôt
Modes de dépôt : standard
Vous pouvez ajouter un tag à une image dans un dépôt Artifact Registry à l'aide de l'interface utilisateurGoogle Cloud console ou de la ligne de commande. Dans un dépôt, les tags sont propres à une version d'image. Par conséquent, si vous avez plusieurs versions d'une image, chaque tag ne s'applique qu'à l'une d'elles. Si vous taguez une image avec un tag déjà utilisé, vous déplacerez le tag de la version d'origine vers la nouvelle version taguée.
Console
Pour ajouter un tag à une image dans un dépôt :
Ouvrez la page Dépôts dans la console Google Cloud .
Cliquez sur l'image pour afficher ses versions.
Sélectionnez la version de l'image à taguer.
Sur la ligne de la version sélectionnée, cliquez sur Autres actions (
), puis sur Modifier les tags.Saisissez de nouveaux tags dans le champ, puis cliquez sur ENREGISTRER.
gcloud
Pour taguer des images dans un dépôt, spécifiez la version de l'image à l'aide du condensé ou du tag de l'image, puis spécifiez le tag à ajouter. Exécutez l'une des commandes suivantes :
gcloud artifacts docker tags add IMAGE-VERSION TAG
Où
IMAGE-VERSIONcorrespond au nom complet de la version de l'image à taguer, en utilisant le condensé de l'image ou un tag existant sur la version de l'image.TAGcorrespond au nom complet du tag que vous souhaitez ajouter.
Prenons l'exemple d'une image présentant les caractéristiques suivantes :
- Emplacement du dépôt :
us-west1 - Nom du dépôt :
my-repo - ID du projet :
my-project - Nom de l'image :
my-image - Tag existant :
iteration6-final - Tag à ajouter :
release-candidate
Pour ajouter le tag release-candidate à la version de l'image portant le tag iteration6-final, exécutez la commande suivante :
gcloud artifacts docker tags add \
us-west1-docker.pkg.dev/my-project/my-repo/my-image:iteration6-final \
us-west1-docker.pkg.dev/my-project/my-repo/my-image:release-candidate
Pour en savoir plus sur le format des noms d'images, y compris les projets à portée de domaine, consultez Noms de dépôts et d'images.
Ajouter des tags à des images locales
Pour transférer une image locale vers Artifact Registry, vous devez d'abord lui ajouter un tag correspondant à son nom de dépôt, puis transférer l'image. Pour obtenir des instructions, consultez la page Tranféfer et extraire.
Supprimer des tags d'images
Modes de dépôt : standard
Vous pouvez supprimer un tag d'une image dans Artifact Registry à l'aide de l'interface utilisateurGoogle Cloud console ou de la ligne de commande.
Console
Ouvrez la page Dépôts dans la console Google Cloud .
Cliquez sur l'image pour afficher ses versions.
Sélectionnez la version de l'image pour supprimer le tag.
Sur la ligne de la version sélectionnée, cliquez sur Autres actions (
), puis sur Modifier les tags.Supprimez le tag, puis cliquez sur ENREGISTRER.
gcloud
Pour supprimer un tag et le supprimer de l'image, exécutez la commande suivante :
gcloud artifacts docker tags delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE:TAG
Remplacez les éléments suivants :
-
LOCATIONest l'emplacement régional ou multirégional du dépôt. PROJECTest l'ID de votre projet Google Cloud . Si votre ID de projet contient un deux-points ( : ), consultez Projets à portée de domaine.REPOSITORYest le nom du dépôt où l'image est stockée.IMAGEest le nom de l'image dans le dépôt.TAGcorrespond au tag de la version que vous souhaitez supprimer.
Supprimer des images
Modes de dépôt : standard, distant
Vous pouvez supprimer une image de conteneur entière ou une version spécifique d'une image associée à un tag ou un condensé. La suppression des images inutilisées peut vous aider à réduire les coûts de stockage.
- Une fois que vous avez supprimé une image, vous ne pouvez pas annuler l'action.
- La suppression d'images n'entraîne pas la suppression immédiate des calques référencés. Les calques non référencés sont supprimés tous les jours.
- Pour les dépôts distants, la copie mise en cache de l'image est supprimée. L'image reste disponible à partir de la source en amont. Si le dépôt distant reçoit une nouvelle demande pour la même image, il la télécharge et la met à nouveau en cache.
Pour supprimer des images depuis la console Google Cloud ou la gcloud CLI :
Console
Ouvrez la page Dépôts dans la console Google Cloud .
Cliquez sur le nom de l'image pour afficher ses versions.
Sélectionnez les versions que vous souhaitez supprimer.
Cliquez sur SUPPRIMER.
Dans la boîte de dialogue de confirmation, cliquez sur SUPPRIMER.
gcloud
Pour supprimer une image et tous ses tags, exécutez la commande suivante :
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE --delete-tags
Pour supprimer une version d'image spécifique, utilisez l'une des commandes suivantes.
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE:TAG [--delete-tags]
ou
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE@IMAGE-DIGEST [--delete-tags]
Où
- LOCATION est l'emplacement régional ou multirégional du dépôt.
- PROJECT est l'ID de votre projet Google Cloud .
Si votre ID de projet contient un deux-points (
:), consultez Projets à portée de domaine. - REPOSITORY est le nom du dépôt où l'image est stockée.
- IMAGE est le nom de l'image dans le dépôt.
- TAG correspond au tag de la version que vous souhaitez supprimer. Si plusieurs tags sont associés à la même version d'image, vous devez inclure
--delete-tagspour supprimer la version d'image sans supprimer les tags au préalable. - IMAGE-DIGEST correspond à la valeur de hachage sha256 de la version que vous souhaitez supprimer. Si un tag est associé au résumé de l'image, vous devez inclure
--delete-tagspour supprimer la version de l'image sans supprimer le tag au préalable. --delete-tagssupprime tous les tags appliqués à la version de l'image. Ce flag vous permet de forcer la suppression d'une version d'image lorsque :- Vous avez spécifié un tag, mais d'autres tags sont associés à la version de l'image.
- Vous avez spécifié un condensé d'image qui comporte au moins un tag.
Étapes suivantes
- Téléchargez des fichiers individuels stockés dans une image sans utiliser les commandes Docker. Cela peut être utile pour inspecter rapidement les fichiers manifestes.