Initiation à Container Registry

IBM Cloud® Container Registry fournit un Registreà image privée multilocataire que vous pouvez utiliser pour stocker et partager vos Images de conteneur avec les utilisateurs de votre compte IBM Cloud.

La console IBM Cloud inclut un bref démarrage rapide. Pour en savoir plus sur l'utilisation de la console IBM Cloud, voir Gestion de la sécurité des images avec Vulnerability Advisor.

Ne placez pas d'informations personnelles dans vos images de conteneur, noms d'espace de nom, zones de description, ou dans des données de configuration d'image (par exemple, dans des noms d'image ou des libellés d'image).

Avant de commencer

Installez l'interface de ligne de commande (CLI) IBM Cloud pour pouvoir exécuter les commandes IBM Cloud ibmcloud, voir Démarrer avec la CLI IBM Cloud.

Les instructions suivantes supposent que vous êtes dans votre propre compte et que vous avez la permission de tout faire. Si vous ne pouvez pas exécuter les commandes et que vous êtes membre d'un compte détenu et administré par quelqu'un d'autre, il se peut que vous ne disposiez pas des autorisations nécessaires pour configurer et faire fonctionner le service Container Registry. Dans ce cas, vous devez demander à votre administrateur de vous donner les autorisations nécessaires pour le rôle d'accès au service IAM. Pour plus d'informations, voir Pourquoi ne puis-je pas démarrer avec Container Registry?

Installation de l'interface de ligne de commande Container Registry

  1. Installez le plug-in container-registry CLI en exécutant la commande suivante :

    ibmcloud plugin install container-registry
    

    Pour plus d'informations sur l'installation de plug-ins, voir Extension de la CLI IBM Cloud avec des plug-ins.

Configuration d'un espace de nom

Créer un espace de noms. L'espace de nom est créé dans le groupe de ressources que vous spécifiez pour que vous puissiez configurer l'accès aux ressources dans l'espace de nom au niveau du groupe de ressources. Si vous ne spécifiez pas de groupe de ressources et que vous ne ciblez pas de groupe de ressources, le groupe de ressources par défaut est utilisé. Espaces de nom affectés à un groupe de ressources dans la page Liste de ressources de la console IBM Cloud.

  1. Connectez-vous à IBM Cloud.

    ibmcloud login
    

    Si vous disposez d'un ID fédéré, utilisez ibmcloud login --sso pour vous connecter. Entrez votre nom d'utilisateur et utilisez l'URL mentionnée dans la sortie de l'interface de ligne de commande pour extraire votre code d'accès à usage unique. Si vous disposez d'un ID fédéré, la connexion échoue sans l'option --sso et réussit avec l'option --sso.

    Vous n'avez pas besoin de vous connecter à Container Registry tant que vous ne souhaitez pas insérer une image. Voir Étape 5 : Insérez les images dans votre espace de nom.

  2. Ajoutez un espace de nom pour créer votre propre référentiel d'image. Remplacez MY_NAMESPACE par votre espace de nom habituel.

    L'espace de nom doit être unique pour tous les comptes IBM Cloud de la même région. Les espaces de nom doivent comporter entre 4 et 30 caractères et contenir uniquement des lettres minuscules, des chiffres, des tirets (-) et des traits de soulignement (_). Les espaces de nom doivent commencer et se terminer par une lettre ou un chiffre.

    ibmcloud cr namespace-add MY_NAMESPACE
    

    Vous pouvez placer l'espace de nom dans un groupe de ressources de votre choix de l'une des manières suivantes.

    Si vous rencontrez un problème lors de la création d'un espace de noms, consultez la rubrique Pourquoi ne puis-je pas ajouter un espace de noms? pour obtenir de l'aide.

  3. Pour vous assurer que votre espace de noms est créé, exécutez la commande ibmcloud cr namespace-list.

    ibmcloud cr namespace-list -v
    

Extrayez les images d'un registre vers votre ordinateur local

  1. Installez Docker ou un outil de votre choix, comme Podman.

  2. Téléchargez (extrayez) l'image sur votre ordinateur local. Remplacez SOURCE_IMAGE par le référentiel de l'image et TAG par labalise de l'image que vous souhaitez utiliser, par exemple, latest. Par exemple, en fonction de l'outil que vous utilisez, exécutez l'une des commandes suivantes.

    • Si vous utilisez Docker, exécutez la commande suivante.

      docker pull SOURCE_IMAGE:TAG
      

      Exemple, où SOURCE_IMAGE est hello-world et TAG est latest:

      docker pull hello-world:latest
      

      Si vous rencontrez un problème lorsque vous essayez de tirer une image Docker, consultez la rubrique Pourquoi ne puis-je pas pousser ou tirer une image Docker? pour obtenir de l'aide. Si vous ne pouvez pas extraire l'image la plus récente à l'aide de la balise latest, reportez-vous à la section Pourquoi ne puis-je pas extraire l'image la plus récente à l'aide de la balise latest ? pour obtenir de l'aide.

    • Si vous utilisez Podman, exécutez la commande suivante.

      podman pull SOURCE_IMAGE:TAG
      

      Exemple, où SOURCE_IMAGE est hello-world et TAG est latest:

      podman pull hello-world:latest
      

Étiquetez l'image

Pour étiqueter l'image, remplacez SOURCE_IMAGE par le référentiel et TAG par la balise de votre image locale que vous avez retirée précédemment. Remplacez REGION par le nom de votre région. Remplacez MY_NAMESPACE par l'espace de nom que vous avez créé dans laconfiguration d'un espace de nom. Définissez le dépôt et la balise de l'image que vous souhaitez utiliser dans votre espace de noms en remplaçant NEW_IMAGE_REPO par le nom de votre dépôt d'images et NEW_TAG par la balise. Par exemple, en fonction de l'outil que vous utilisez, exécutez l'une des commandes suivantes.

Pour rechercher le nom de votre région, exécutez la commande ibmcloud cr region.

  • Si vous utilisez Docker, exécutez la commande suivante.

    docker tag SOURCE_IMAGE:TAG REGION.icr.io/MY_NAMESPACE/NEW_IMAGE_REPO:NEW_TAG
    

    Exemple, où SOURCE_IMAGE est hello-world, TAG est latest, REGION est uk, MY_NAMESPACE est namespace1, NEW_IMAGE_REPO est hw_repo, et NEW_TAG est 1:

    docker tag hello-world:latest uk.icr.io/namespace1/hw_repo:1
    
  • Si vous utilisez Podman, exécutez la commande suivante.

    podman tag SOURCE_IMAGE:TAG REGION.icr.io/MY_NAMESPACE/NEW_IMAGE_REPO:NEW_TAG
    

    Exemple, où SOURCE_IMAGE est hello-world, TAG est latest, REGION est uk, MY_NAMESPACE est namespace1, NEW_IMAGE_REPO est hw_repo, et NEW_TAG est 1:

    podman tag hello-world:latest uk.icr.io/namespace1/hw_repo:1
    

Insérez les images à votre espace de nom

  1. Connectez-vous à IBM Cloud Container Registry en utilisant l'une des options suivantes.

    • Pour vous connecter à l'aide de Docker, exécutez la commande ibmcloud cr login pour consigner votre démon Docker local dans IBM Cloud Container Registry.

      ibmcloud cr login --client docker
      
    • Pour vous connecter à l'aide de Podman, exécutez la commande ibmcloud cr login pour vous connecter à IBM Cloud Container Registry.

      ibmcloud cr login --client podman
      
    • Pour vous connecter à l'aide d'autres clients, voir Accès interactif à vos espaces de nom.

    Si vous avez un problème lorsque vous tentez de vous connecter, reportez-vous à la section Pourquoi ne puis-je pas me connecter à Container Registry? pour obtenir de l'aide.

  2. Téléchargez (envoyez) l'image dans votre espace de nom. Remplacez MY_NAMESPACE par l'espace de nom que vous avez créé dans laconfiguration d'un espace de nom. Remplacez IMAGE_REPO et TAG par le référentiel et la balise de l'image que vous avez choisie lorsque vous avez étiquetté l'image. Par exemple, en fonction de l'outil que vous utilisez, exécutez l'une des commandes suivantes.

    • Si vous utilisez Docker, exécutez la commande suivante.

      docker push REGION.icr.io/MY_NAMESPACE/IMAGE_REPO:TAG
      

      Exemple, où REGION est uk, MY_NAMESPACE est namespace1, IMAGE_REPO est hw_repo, et TAG est 1:

      docker push uk.icr.io/namespace1/hw_repo:1
      

      Si vous rencontrez un problème lorsque vous essayez de pousser une image Docker, consultez la section Pourquoi ne puis-je pas pousser ou tirer une image Docker? pour obtenir de l'aide.

    • Si vous utilisez Podman, exécutez la commande suivante.

      podman push REGION.icr.io/MY_NAMESPACE/IMAGE_REPO:TAG
      

      Exemple, où REGION est uk, MY_NAMESPACE est namespace1, IMAGE_REPO est hw_repo, et TAG est 1:

      podman push uk.icr.io/namespace1/hw_repo:1
      

Vérifiez que l'image a bien été insérée

Vérifiez que le transfert de l'image a abouti en exécutant la commande suivante.

ibmcloud cr image-list

Vous avez configuré un espace de nom dans IBM Cloud Container Registry et vous avez envoyé votre première image dans votre espace de nom.

Mettre en place une piste d'audit pour les changements dans Container Registry

Créez une piste d'audit pour les modifications apportées à Container Registry en capturant les événements d'activité de chacune de vos régions actives Container Registry. Créez ces événements d'activité dans une ou plusieurs instances de IBM Cloud Logs.

Pour mettre en place une piste d'audit, procédez comme suit :

  1. Configurer IBM Cloud Logs, voir Démarrer avec IBM Cloud Logs.
  2. Configurer IBM Cloud Activity Tracker Event Routing, voir Démarrer avec IBM Cloud Activity Tracker Event Routing.
  3. Configurez une cible IBM Cloud Logs, voir Configuration d'une instance IBM Cloud Logs en tant que cible.

Pour plus d'informations sur la journalisation, voir À propos de IBM Cloud Logs et Journalisation pour Container Registry.

Pour plus d'informations sur les événements d'activité, voir À propos de IBM Cloud Activity Tracker Event Routing et Événements de suivi d'activité pour Container Registry.

Contrôler les paramètres pour Container Registry

Vous pouvez créer une instance Monitoring dans la région que vous souhaitez surveiller et activer les métriques de la plateforme pour cette instance. Vous pouvez également activer des métriques de la plateforme sur une instance Monitoring existante dans cette région.

Pour plus d'informations sur la configuration des métriques, voir Activation des métriques pour Container Registry et Premiers pas avec Monitoring.

Prochaines étapes Container Registry