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
-
Installez le plug-in
container-registryCLI en exécutant la commande suivante :ibmcloud plugin install container-registryPour 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.
-
Connectez-vous à IBM Cloud.
ibmcloud loginSi vous disposez d'un ID fédéré, utilisez
ibmcloud login --ssopour 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--ssoet 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.
-
Ajoutez un espace de nom pour créer votre propre référentiel d'image. Remplacez
MY_NAMESPACEpar 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_NAMESPACEVous pouvez placer l'espace de nom dans un groupe de ressources de votre choix de l'une des manières suivantes.
- Avant de créer l'espace de nom, exécutez la commande
ibmcloud target -g RESOURCE_GROUP, oùRESOURCE_GROUPest le groupe de ressources. - Spécifiez le groupe de ressources à l'aide de l'option
-gdans la commandeibmcloud cr namespace-add.
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.
- Avant de créer l'espace de nom, exécutez la commande
-
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
-
Installez Docker ou un outil de votre choix, comme Podman.
-
Installez le CLI Docker Engine.
WindowsmacOS Pour Windows® 8, ou macOS X Yosemite 10.10.x ou antérieur, installezDocker Desktop à la place.
Pour plus d'informations sur la version de Docker prise en charge par IBM Cloud Container Registry, voir Prise en charge de Docker.
-
Installez Podman.
-
-
Téléchargez (extrayez) l'image sur votre ordinateur local. Remplacez
SOURCE_IMAGEpar le référentiel de l'image etTAGpar 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:TAGExemple, où
SOURCE_IMAGEesthello-worldetTAGestlatest:docker pull hello-world:latestSi 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 baliselatest? pour obtenir de l'aide. -
Si vous utilisez Podman, exécutez la commande suivante.
podman pull SOURCE_IMAGE:TAGExemple, où
SOURCE_IMAGEesthello-worldetTAGestlatest: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_TAGExemple, où
SOURCE_IMAGEesthello-world,TAGestlatest,REGIONestuk,MY_NAMESPACEestnamespace1,NEW_IMAGE_REPOesthw_repo, etNEW_TAGest1: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_TAGExemple, où
SOURCE_IMAGEesthello-world,TAGestlatest,REGIONestuk,MY_NAMESPACEestnamespace1,NEW_IMAGE_REPOesthw_repo, etNEW_TAGest1:podman tag hello-world:latest uk.icr.io/namespace1/hw_repo:1
Insérez les images à votre espace de nom
-
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 loginpour 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 loginpour 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.
-
-
Téléchargez (envoyez) l'image dans votre espace de nom. Remplacez
MY_NAMESPACEpar l'espace de nom que vous avez créé dans laconfiguration d'un espace de nom. RemplacezIMAGE_REPOetTAGpar 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:TAGExemple, où
REGIONestuk,MY_NAMESPACEestnamespace1,IMAGE_REPOesthw_repo, etTAGest1:docker push uk.icr.io/namespace1/hw_repo:1Si 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:TAGExemple, où
REGIONestuk,MY_NAMESPACEestnamespace1,IMAGE_REPOesthw_repo, etTAGest1: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 :
- Configurer IBM Cloud Logs, voir Démarrer avec IBM Cloud Logs.
- Configurer IBM Cloud Activity Tracker Event Routing, voir Démarrer avec IBM Cloud Activity Tracker Event Routing.
- 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.