Configuration de l'interface CLI et de l'espace de nom Container Registry
Pour gérer vos images d' Docker dans IBM Cloud® Container Registry, vous devez installer le plug-in container-registry d'interface de ligne de commande (CLI) et créer un espace de nomsUne collection de référentiels stockant des images dans un registre. Un espace de nom est associé à un compte IBM Cloud, qui peut inclure plusieurs espaces de nom.
dans un groupe de ressourcesEnvironnement, et contraintes, auxquels les instances de ressource contenues adhèrent. Un utilisateur peut être associé à un groupe de ressources pour activer la collaboration..
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).
Pour ajouter et supprimer des espaces de nom, vous devez disposer du rôle Responsable au niveau du compte, voir Rôles d'accès pour la configuration de IBM Cloud Container Registry.
Avant de commencer, installez l'interface de ligne de commande IBM Cloud, voir Initiation à l'interface de ligne de commande IBM Cloud.
Installation du plug-in d'interface de ligne de commande container-registry
Installez le container-registry plug-in CLI afin de pouvoir utiliser l'interface de ligne de commande pour gérer vos espaces de noms et vos images d' Docker dans IBM Cloud Container Registry.
-
Installez le
container-registryplug-in CLI 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.
-
Facultatif : configurez votre client Docker pour exécuter des commandes sans autorisations root. Si vous n'effectuez pas cette étape, vous devez exécuter les commandes
ibmcloud login,ibmcloud cr login,docker pulletdocker pushavecsudoou en tant qu'utilisateur root.
IBM Cloud Container Registry prend en charge Docker et d'autres clients. Pour vous connecter à l'aide d'autres clients, voir Accès interactif à vos espaces de nom.
Vous pouvez maintenant configurer votre propre espace de nom dans IBM Cloud Container Registry.
Mise à jour du plug-in d'interface de ligne de commande container-registry
Vous souhaiterez peut-être mettre à jour le plug-in d'interface de ligne de commande container-registry régulièrement afin de bénéficier de nouvelles fonctionnalités.
Mise à jour de la version du plug-in container-registry CLI 1.0
Pour mettre à jour la version 1.0 du CLI Container Registry, exécutez la commande suivante :
ibmcloud plugin update container-registry
Mise à jour de la version du plug-in container-registry CLI 0.1
Pour mettre à jour la version 0.1 du CLI Container Registry, exécutez la commande suivante, où VERSION_NUMBER est le numéro de la version du CLI.
La version 0.1 de l'interface CLI Container Registry est obsolète.
ibmcloud plugin install container-registry -v VERSION_NUMBER
Par exemple, pour mettre à jour le CLI à la version 0.1.584, exécutez la commande suivante :
ibmcloud plugin install container-registry -v 0.1.584
Désinstallation du plug-in d'interface de ligne de commande container-registry
Si vous ne souhaitez plus utiliser Container Registry, vous pouvez le supprimer en désinstallant le plug-in CLI container-registry.
Pour désinstaller le container-registry plug-in CLI, exécutez la commande suivante :
ibmcloud plugin uninstall container-registry
Planification d'espaces de nom
IBM Cloud Container Registry fournit un registreService de stockage et de distribution contenant des images publiques ou privées utilisées pour créer des conteneurs. d'images privé multi-locataires hébergé et géré par IBM. Vous pouvez stocker et partager vos images Docker dans ce registre en configurant un espace de nom du registre.
Les autorisations d'accès IAM peuvent être accordées au niveau du compte, pour tous les espaces de noms ou pour l'espace de noms lui-même. Il est également possible d'accorder l'accès au niveau du groupe de ressources. Les espaces de noms sont créés dans un groupe de ressources, qui ne peut pas être modifié, afin que vous puissiez accorder l'accès au niveau du groupe de ressources. Si vous ne spécifiez pas de groupe de ressources, et si un groupe de ressources n'est pas ciblé, le groupe de ressources par défaut est attribué lors de la création de l'espace de noms.
Si vous disposez d'un espace de noms plus ancien qui ne se trouve pas dans un groupe de ressources, vous pouvez l'attribuer à un groupe de ressources, puis définir les autorisations pour cet espace de noms au niveau du groupe de ressources. Pour plus d'informations sur les groupes de ressources, voir Affectation d'espaces de nom existants à des groupes de ressources.
Espaces de nom affectés à un groupe de ressources dans la page Liste de ressources de la console IBM Cloud.
Vous pouvez définir plusieurs espaces de nom, par exemple pour disposer de référentiels distincts pour votre environnement de production et votre environnement de transfert. Si vous souhaitez utiliser le registre dans plusieurs régions IBM Cloud, vous devez configurer un espace de nom pour chaque région. Les noms d'espace de nom sont uniques dans chaque région. Vous pouvez utiliser le même nom d'espace de nom dans chaque région, sauf si quelqu'un d'autre l'a déjà utilisé pour définir un espace de nom dans la région concernée.
Vous ne pouvez pas partager un espace de noms Container Registry (icr.io) avec des comptes IBM Cloud. Un espace de noms est la propriété d'un seul compte IBM Cloud et ne peut être partagé avec plusieurs comptes.
Vous pouvez avoir 100 espaces de nom dans chaque région.
Si vous comptez utiliser seulement les images publiques fournies par IBM, vous n'avez pas besoin de définir un espace de nom.
Si vous ne savez pas si un espace de noms est déjà défini pour votre compte, exécutez la ibmcloud cr namespace-list commande avec -v l'option pour récupérer les informations existantes sur l'espace de noms.
Prenez en compte les règles suivantes lorsque vous choisissez un espace de nom :
- Votre espace de nom doit être unique pour tous les comptes IBM Cloud de la même région.
- Il doit comporter de 4 à 30 caractères.
- Votre espace de nom doit commencer et se terminer par une lettre ou un chiffre.
- Votre espace de nom ne doit comporter que des lettres en minuscules, des chiffres, des tirets (-) et des traits de soulignement (_).
Ne placez pas d'informations personnelles dans vos noms d'espace de nom.
Une fois votre premier espace de noms défini, vous bénéficiez automatiquement du forfait gratuit IBM Cloud Container Registry, sauf si vous passez à un forfait supérieur.
Droits utilisateur pour utiliser des espaces de nom
Vous pouvez contrôler quels utilisateurs peuvent utiliser des espaces de nom à l'aide de rôles IAM.
-
Pour ajouter, affecter et supprimer des espaces de nom, vous devez disposer du rôle Responsable dans le service IBM Cloud Container Registry au niveau du compte, voir Rôles d'accès pour la configuration de IBM Cloud Container Registry.
-
Pour ajouter et affecter des espaces de nom, vous devez également disposer du rôle de plateforme Afficheur pour le groupe de ressources dans lequel vous souhaitez créer l'espace de nom. Pour affecter le rôle du visualiseur pour un groupe de ressources à un utilisateur, exécutez la commande
ibmcloud iam user-policy-createsuivante, oùUSERest le nom de l'utilisateur etRESOURCE_GROUP_IDest l'ID du groupe de ressources :ibmcloud iam user-policy-create USER --roles Viewer --resource-type resource-group --resource RESOURCE_GROUP_ID
-
-
Pour afficher et analyser des espaces de nom, vous devez disposer du rôle Lecteur ou Responsable dans le service IBM Cloud Container Registry. Voir Rôles d'accès pour l'utilisation de IBM Cloud Container Registry.
Pour plus d'informations sur les rôles utilisateur, voir Définition des règles d'accès IAM.
Configuration d'un espace de nom
Vous devez créer un espace de nom pour stocker vos images Docker dans IBM Cloud Container Registry.
Avant de commencer, effectuez les opérations suivantes :
- Installez l'interface de ligne de commande IBM Cloud et le plug-in d'interface de ligne de commande
container-registry. - Planifiez l'utilisation et nommez vos espaces de nom de registre.
Pour créer un espace de nom, voir Configuration d'un espace de nom. Les espaces de nom sont créés 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 qu'aucun groupe de ressources n'est ciblé, le groupe de ressources par défaut est utilisé. Pour plus d'informations sur les groupes de ressources, voir Gestion des groupes de ressources.
Espaces de nom affectés à un groupe de ressources dans la page Liste de ressources de la console IBM Cloud.
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.
Vous pouvez maintenant envoyer des images Docker dans votre espace de nom dans IBM Cloud Container Registry et partager ces images avec d'autres utilisateurs de votre compte. Pour contrôler l'accès aux espaces de nom dans IBM Cloud IAM, voir Création de règles.
Affectation d'espaces de nom existants à des groupes de ressources
Les espaces de nom créés dans la version 0.1.484 de l'interface de ligne de commande ou avant et dans la console IBM Cloud avant le 29 juillet 2020 ne sont pas affectés à des groupes de ressources. Si vous disposez d'un espace de noms qui n'est pas attribué à un groupe de ressources, vous pouvez l'attribuer à un groupe de ressources, puis définir les autorisations pour cet espace de noms au niveau du groupe de ressources.
Vous ne pouvez affecter un espace de nom à un groupe de ressources qu'une seule fois. Si un espace de nom se trouve dans un groupe de ressources, vous ne pouvez pas le déplacer vers un autre groupe de ressources.
Vous pouvez affecter un espace de nom existant à un groupe de ressources à l'aide de la commande ibmcloud cr namespace-assign. Pour déterminer les
espaces de nom affectés à des groupes de ressources et ceux non affectés, exécutez la commande ibmcloud cr namespace-list avec l'option -v.
Espaces de nom affectés à un groupe de ressources dans la page Liste de ressources de la console IBM Cloud.
Si les espaces de nom ne s'affichent pas tous dans la page Liste de ressources, consultez Pourquoi tous mes espaces de noms ne s'affichent-ils pas dans la liste de ressources ? pour obtenir de l'aide.
Pour plus d'informations sur les groupes de ressources, voir Création d'un groupe de ressources.
Pour affecter un espace de nom existant à un groupe de ressources, procédez comme suit :
-
Connectez-vous à IBM Cloud.
ibmcloud login -
Pour rechercher l'espace de nom, répertoriez les espaces de nom disponibles.
ibmcloud cr namespace-list -v -
Affectez l'espace de nom à un groupe de ressources.
Remplacez
MY_RESOURCE_GROUPpar le nom ou l'ID du groupe de ressources etMY_NAMESPACEpar le nom de l'espace de nom.ibmcloud cr namespace-assign -g MY_RESOURCE_GROUP MY_NAMESPACE
Retrait d'espaces de nom
Si vous n'avez plus besoin d'un espace de nom de registre, vous pouvez supprimer l'espace de nom de votre compte IBM Cloud.
-
Connectez-vous à IBM Cloud.
ibmcloud login -
Répertoriez les espaces de nom disponibles.
ibmcloud cr namespace-list -
Supprimez un espace de nom.
Lorsque vous supprimez un espace de nom, les images qui y étaient stockées sont également supprimées. Cette action ne peut pas être annulée.
Remplacez
MY_NAMESPACEpar l'espace de nom que vous souhaitez supprimer.ibmcloud cr namespace-rm MY_NAMESPACEAprès que vous avez supprimé un espace de nom, quelques minutes peuvent s'écouler avant qu'il ne redevienne disponible pour une réutilisation.