Stocker des images de conteneurs Docker dans Artifact Registry

Artifact Registry fournit un emplacement unique pour la gestion des packages privés et des images de conteneurs Docker.

Ce guide de démarrage rapide vous montre comment :

  • Créer un dépôt Docker privé dans Artifact Registry
  • Configurer l'authentification
  • Transférer une image vers le dépôt
  • Extraire l'image du dépôt

Pour obtenir des instructions détaillées sur cette tâche directement dans la console Google Cloud, cliquez sur Visite guidée :

Visite guidée


Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Activez l'API Artifact Registry

    Activer l'API

  5. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  6. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  7. Activez l'API Artifact Registry

    Activer l'API

Choisir une interface système

Pour suivre ce guide de démarrage rapide, utilisez Cloud Shell ou votre interface système locale.

Cloud Shell
Cloud Shell est un environnement shell permettant de gérer les ressources hébergées sur Google Cloud. Docker et la Google Cloud CLI, l'interface de ligne de commande principale de Google Cloud, sont préinstallés.
Shell local
Si vous préférez utiliser votre interface système locale, vous devez installer Docker et gcloud CLI dans votre environnement.

Démarrer Cloud Shell

Pour lancer Cloud Shell, procédez comme suit :

  1. Accédez à Google Cloud Console.

    Google Cloud Console

  2. Cliquez sur le bouton Activer Cloud Shell :  .

Une session Cloud Shell s'ouvre dans un cadre situé en bas de la console. Cette interface système vous permet d'exécuter les commandes gcloud.

Configurer une interface système locale

Pour installer gcloud CLI et Docker, procédez comme suit:

  1. Installer gcloud CLI. Pour mettre à jour une installation existante, exécutez la commande gcloud components update.

  2. Installez Docker si ce n'est pas encore fait.

  3. Docker nécessite un accès privilégié pour interagir avec les registres. Sous Linux ou Windows, ajoutez l'utilisateur que vous permet d'exécuter des commandes Docker dans le groupe de sécurité Docker. Cette étape n'est pas requise sous macOS, car Docker Desktop s'exécute sur une machine virtuelle en tant qu'utilisateur racine.

    Linux

    Le groupe de sécurité Docker s'appelle docker. Pour ajouter votre nom d'utilisateur, exécutez la commande suivante :

    sudo usermod -a -G docker ${USER}
    

    Windows

    Le groupe de sécurité Docker s'appelle docker-users. Pour ajouter un utilisateur à partir de l'invite de commande administrateur, exécutez la commande suivante :

    net localgroup docker-users DOMAIN\USERNAME /add
    

    • DOMAIN est votre domaine Windows.
    • USERNAME est votre nom d'utilisateur.
  4. Déconnectez-vous et reconnectez-vous pour que les modifications apportées à la liste des membres du groupe soient appliquées. Si vous utilisez une machine virtuelle, vous devrez peut-être la redémarrer pour que ces modifications prennent effet.

  5. Pour vérifier que Docker est en cours d'exécution, utilisez la commande Docker suivante, qui renvoie la date et l'heure actuelles :

  6. docker run --rm busybox date
    

    L'option --rm supprime l'instance de conteneur en cas de fermeture.

Créer un dépôt Docker

Créez un dépôt Docker pour stocker l'exemple d'image fourni dans ce guide de démarrage rapide.

Console

  1. Ouvrez la page Dépôts de la console Google Cloud.

    Ouvrir la page "Dépôts"

  2. Cliquez sur add Créer un dépôt.

  3. Spécifiez quickstart-docker-repo comme nom de dépôt.

  4. Choisissez Docker comme format et Standard comme mode.

  5. Sous Type d'emplacement, sélectionnez Région, puis l'emplacement us-central1.

  6. Cliquez sur Créer.

Le dépôt est ajouté à la liste des dépôts.

gcloud

  1. Exécutez la commande suivante pour créer un dépôt Docker nommé quickstart-docker-repo à l'emplacement us-central1 avec la description "docker repository".

    gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \
        --location=us-central1 --description="Docker repository" \
        --project=PROJECT
    

    PROJECT correspond à l’ID de votre projet Google Cloud.

  2. Exécutez la commande suivante pour vérifier que votre dépôt a bien été créé.

    gcloud artifacts repositories list \
        --project=PROJECT
    

Exécutez la commande gcloud artifacts pour en savoir plus sur les commandes Artifact Registry.

Configurer l'authentification

Avant de pouvoir transférer ou extraire des images, configurez Docker afin qu'il utilise la Google Cloud CLI pour authentifier les requêtes adressées à Artifact Registry.

Pour configurer l'authentification auprès des dépôts Docker dans la région us-central1, exécutez la commande suivante :

gcloud auth configure-docker us-central1-docker.pkg.dev

La commande met à jour votre configuration Docker. Vous pouvez désormais vous connecter à Artifact Registry dans votre projet Google Cloud pour stocker et extraire des images.

Pour en savoir plus sur les autres méthodes d'authentification, consultez la section Méthodes d'authentification.

Obtenir une image à stocker

Pour ce guide de démarrage rapide, vous allez stocker un exemple d'image nommée hello-app.

Exécutez la commande suivante pour extraire la version 1.0 de l'image.

   docker pull us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0

Dans Artifact Registry, les chemins d'accès aux images incluent plusieurs parties. Pour cet exemple d'image:

  • us est l'emplacement du dépôt.
  • docker.pkg.dev est le nom d'hôte des images de conteneurs stockées dans les dépôts Docker Artifact Registry.
  • google-samples est l'ID du dépôt.
  • containers/gke/ est le chemin d'accès à l'image sous google-samples.

Ajouter l'image au dépôt

Avant de transférer l'image Docker vers Artifact Registry, vous devez lui ajouter un tag correspondant au nom du dépôt.

Ajouter un tag de nom de registre à l'image

Cette action permet de configurer la commande docker push grâce à laquelle vous pouvez stocker l'image dans un emplacement précis. L'emplacement d'hôte utilisé dans ce guide de démarrage rapide est us-central1-docker.pkg.dev.

Exécutez la commande suivante pour ajouter des tags à l'image en tant que quickstart-image:tag1 :

docker tag us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 \
us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

  • us-central1 est l'emplacement du dépôt.
  • docker.pkg.dev est le nom d'hôte du dépôt Docker que vous avez créé.
  • PROJECT est l'ID du projet Google Cloud. Si l'ID du projet contient le signe deux-points (:), consultez la section Projets à l'échelle du domaine.
  • quickstart-docker-repo est l'ID du dépôt que vous avez créé.
  • quickstart-image est le nom d'image que vous souhaitez utiliser dans le dépôt. Le nom de l'image peut être différent du nom de l'image locale. Pour ce guide de démarrage rapide, vous allez stocker l'image directement sous l'ID de dépôt quickstart-docker-repo.
  • tag1 est un tag que vous ajoutez à l'image Docker. Si vous ne spécifiez pas de tag, Docker applique le tag par défaut latest.

Vous êtes maintenant prêt à transférer l'image vers le dépôt que vous avez créé.

Transférer l'image vers Artifact Registry

Une fois que vous avez configuré l'authentification et tagué l'image locale, vous pouvez stocker l'image dans le dépôt que vous avez créé.

Pour stocker l'image Docker, exécutez la commande suivante :

docker push us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

Remplacez PROJECT par l'ID de votre projet Google Cloud. Si l'ID du projet contient le signe deux-points (:), consultez la section Projets à l'échelle du domaine.

Extraire l'image d'Artifact Registry

Pour extraire l'image de Artifact Registry vers votre ordinateur local, exécutez la commande suivante :

docker pull us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

Remplacez PROJECT par l'ID de votre projet Google Cloud. Si l'ID du projet contient le signe deux-points (:), consultez la section Projets à l'échelle du domaine.

Le résultat doit être semblable à ceci :

latest: Pulling from [PROJECT-ID]/quickstart-image:tag1
Digest: sha256:70c42...
Status: Image is up to date for us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

Effectuer un nettoyage

Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud, procédez comme suit :

Avant de supprimer le dépôt, assurez-vous que les images que vous souhaitez conserver sont disponibles à un autre emplacement.

Pour supprimer le dépôt :

Console

  1. Ouvrez la page Dépôts de la console Google Cloud.

    Ouvrir la page "Dépôts"

  2. Dans la liste des dépôts, sélectionnez le dépôts quickstart-docker-repo.

  3. Cliquez sur Supprimer.

gcloud

Pour supprimer le dépôt quickstart-docker-repo, exécutez la commande suivante :

gcloud artifacts repositories delete quickstart-docker-repo --location=us-central1

Étapes suivantes