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 dans Artifact Registry
- Configurer l'authentification
- Transférer une image vers le dépôt
- Extraire l'image du dépôt
Avant de commencer
- Connectez-vous à votre compte Google.
Si vous n'en possédez pas déjà un, vous devez en créer un.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.
- Activez l'API Artifact Registry.
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. Il est préinstallé avec Docker et l'outil de ligne de commande
gcloud
, l'interface de ligne de commande principale de Google Cloud. - Interface système locale
- Si vous préférez utiliser votre interface système locale, vous devez installer Docker et le SDK Cloud dans votre environnement.
Démarrer Cloud Shell
Pour lancer Cloud Shell, procédez comme suit :
Accédez à Google Cloud Console.
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 le SDK Cloud et Docker, procédez comme suit :
Installez le SDK Cloud, qui inclut l'outil de ligne de commande
gcloud
. Pour mettre à jour une installation existante, exécutez la commandegcloud components update
.Installez Docker si ce n'est pas encore fait.
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
Où
- DOMAIN est votre domaine Windows.
- USERNAME est votre nom d'utilisateur.
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.
Pour vérifier que Docker est en cours d'exécution, utilisez la commande Docker suivante, qui renvoie la date et l'heure actuelles :
docker run busybox date
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
Ouvrez la page Dépôts dans Cloud Console.
Cliquez sur Créer un dépôt.
Spécifiez
quickstart-docker-repo
comme nom de dépôt.Choisissez Docker comme format.
Sous Type d'emplacement, sélectionnez Région, puis l'emplacement
us-central1
.Cliquez sur Create (Créer).
Le dépôt est ajouté à la liste des dépôts.
gcloud
Exécutez la commande suivante pour créer un dépôt Docker nommé
quickstart-docker-repo
à l'emplacementus-central1
avec la description "docker repository".gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \ --location=us-central1 --description="Docker repository"
Exécutez la commande suivante pour vérifier que votre dépôt a bien été créé.
gcloud artifacts repositories list
Exécutez la commande gcloud artifacts
pour en savoir plus sur les commandes Artifact Registry.
Configurer l'authentification
Avant de pouvoir stocker ou extraire des images, configurez Docker afin qu'il se serve de l'outil de ligne de commande gcloud
pour authentifier les requêtes envoyé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 page 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
.
- Définissez le répertoire dans lequel vous souhaitez enregistrer l'image.
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
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
Où :
- PROJECT correspond à votre ID de projet Google Cloud.
Si l'ID du projet contient le signe deux-points (
:
), consultez la section Projets à l'échelle du domaine. us-central1
est l'emplacement du dépôt.docker.pkg.dev
est le nom d'hôte des dépôts Docker.quickstart-image
est le nom de l'image que vous souhaitez utiliser dans le dépôt. Le nom de l'image peut être différent de celui de l'image locale.tag1
est un tag que vous ajoutez à l'image Docker. Si vous ne spécifiez pas de tag, Docker applique le tag par défautlatest
.
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 dans ce guide de démarrage rapide soient facturées sur votre compte Google Cloud, procédez comme suit :
Avant de supprimer le dépôt, assurez-vous que toutes les images que vous souhaitez conserver sont disponibles à un autre emplacement.
Pour supprimer le dépôt :
Console
Ouvrez la page Dépôts dans Cloud Console.
Dans la liste des dépôts, sélectionnez le dépôts
quickstart-docker-repo
.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
Étape suivante
- En savoir plus sur l'utilisation des images de conteneurs.
- Apprenez-en plus sur Docker.
- Consultez nos ressources sur DevOps et découvrez notre programme de recherche.