Conditions du registre de conteneurs
Découvrez les concepts clés que vous devez comprendre avant d'utiliser Container Registry.
Cette rubrique décrit les concepts clés que vous devez comprendre lors de l'utilisation d'Oracle Cloud Infrastructure Registry (également appelé Container Registry).
Images
Container Registry est un registre conforme à Open Container Initiative. Par conséquent, vous pouvez stocker tous les artefacts conformes aux spécifications Open Container Initiative, tels que les images Docker, les listes de manifestes (parfois appelées images à architecture multiple) et les graphiques Helm. Les instructions de cette documentation supposent que vous stockez et extrayez des images de conteneur Docker à l'aide de l'interface de ligne de commande Docker. Les images de conteneur Docker sont communément appelées images Docker ou simplement images.
Une image Docker est un modèle en lecture seule avec des instructions permettant de créer un conteneur Docker. Une image Docker contient une application qui doit être exécutée par Docker en tant que conteneur, ainsi que les dépendances associées. Pour créer une image Docker, vous devez d'abord créer un fichier Dockerfile pour décrire cette application. Vous créez ensuite l'image Docker à partir du fichier Dockerfile. Après avoir créé une image Docker, vous l'avez stockée dans un registre Docker tel que Container Registry.
En général, vous regroupez différentes versions d'une même image Docker dans un référentiel nommé dans le registre (par exemple, dans un référentiel nommé 'project01/acme-web-app'), et donnez à chaque version d'image un identificateur différent (par exemple, '4.6.3'). Ainsi, chaque image dans le registre est identifiée de manière unique par la combinaison de son nom de référentiel et de son identificateur de version (par exemple, 'project01/acme-web-app :4.6.3', 'project01/acme-web-app :4.6.4', etc.).
référentiels
Un référentiel est une collection portant un nom significatif d'images connexes regroupées pour plus de commodité dans le registre de conteneurs. En général, vous regroupez différentes versions d'une même image source dans le même référentiel (par exemple, dans un référentiel nommé project01/acme-web-app
) et donnez à chaque version d'image un identificateur différent (par exemple, 4.6.3
). Ainsi, chaque image dans le registre est identifiée de manière unique par la combinaison du nom de son référentiel et de son identificateur de version (par exemple, project01/acme-web-app:4.6.3
, project01/acme-web-app:4.6.4
, etc.).
Les référentiels peuvent être privés ou publics. Tout utilisateur disposant d'un accès Internet et connaissant l'URL appropriée peut extraire des images d'un référentiel public dans le registre de conteneurs.
Un référentiel existe dans une location, une région et un compartiment particuliers. Pour faire référence à la location propriétaire d'un référentiel, vous indiquez l'espace de noms de la location. L'espace de noms de la location est une chaîne aléatoire de caractères alphanumériques générée automatiquement. Par exemple, l'espace de noms de la location acme-dev
pourrait être ansh81vru1zp
. Notez que, pour certaines locations plus anciennes, la chaîne d'espace de noms peut être identique au nom de la location, tout en minuscules (par exemple, acme-dev
). Pour connaître l'espace de noms de la location courante, ouvrez le menu Profil et sélectionnez Location.
Vous devez appartenir au groupe Administrateurs de la location ou avoir l'autorisation REPOSITORY_MANAGE pour :
- Créer un nouveau référentiel public
- Modifier un référentiel existant en référentiel public
- Modifier un référentiel public existant en référentiel privé
Si vous définissez un référentiel comme étant privé, vous (et les utilisateurs appartenant au groupe Administrateurs de la location) pourrez effectuer toutes les opérations sur ce référentiel. Vous pouvez utiliser des politiques de gestion des identités pour autoriser d'autres utilisateurs à effectuer d'autres opérations sur les référentiels (publics et privés) que vous créez.
En général, avant de pousser des images, vous allez créer un référentiel vide dans un compartiment et lui donner un nom (par exemple, project01/acme-web-app
). Si vous êtes membre du groupe Administrateurs de la location ou si vous disposez de l'autorisation REPOSITORY_MANAGE, vous pouvez également spécifier si le référentiel doit être privé ou public (voir Politiques pour contrôler l'accès au référentiel). Après avoir créé le référentiel, les images que vous poussez ensuite vers le registre de conteneurs qui incluent le nom du référentiel sont poussées vers ce référentiel.
Par exemple, pour des raisons pratiques, vous voudrez peut-être regrouper plusieurs versions d'une image dans la location acme-dev de la région Ashburn, dans le référentiel appelé project01/acme-web-app
. Tout d'abord, vous créez le référentiel project01/acme-web-app
. Ensuite, vous incluez le nom du référentiel lorsque vous poussez l'image, dans le format <registry-domain>/<tenancy-namespace>/<repo-name>:<version>
. Par exemple, ocir.us-ashburn-1.oci.oraclecloud.com/ansh81vru1zp/project01/acme-web-app:4.6.3
.
Notez que la création d'un référentiel vide avant de pousser une image sera certainement votre flux de travail normal. Et si vous n'êtes autorisé à gérer que des référentiels dans des compartiments et non dans le compartiment racine de la location, vous devrez toujours créer un référentiel avant de pousser une image. Toutefois, si vous êtes dans une position inhabituelle consistant principalement à pousser des images vers le compartiment racine, la création d'un référentiel vide à l'avance n'est pas strictement nécessaire. Pour plus d'informations, voir Création d'un référentiel.
Sommaire de terminologie
Lorsque vous travaillez avec des référentiels dans le registre de conteneurs, vous trouverez utile d'avoir une compréhension claire des termes suivants et de leur relation les uns avec les autres.
- chemin du référentiel
-
Un chemin de référentiel (parfois appelé
<repo-path>
dans cette documentation) est le chemin d'accès complet à un référentiel du registre de conteneurs. Un chemin de référentiel a le format<registry-domain>/<tenancy-namespace>/<repo-name>
.Par exemple :
ocir.us-ashburn-1.oci.oraclecloud.com/ansh81vru1zp/project01/acme-web-app
iad.ocir.io/ansh81vru1zp/project01/acme-web-app
us-phoenix-1.ocir.io/cbujx0t3wa3r/my-hello-app
- domaine du registre
-
Un domaine de registre de conteneurs comprend une clé de région ou un identificateur de région du registre de conteneurs. Un domaine de registre de registre de conteneurs a l'un des formats suivants :
- (recommandé)
ocir.<region-identifier>.oci.oraclecloud.com
<region-key>.ocir.io
(domaines OC1 uniquement)<region-identifier>.ocir.io
(domaines OC1 uniquement)
Par exemple :
ocir.us-ashburn-1.oci.oraclecloud.com
iad.ocir.io/ansh81vru1zp
us-phoenix-1.ocir.io
Pour la liste des identificateurs de région et des clés de région, voir Disponibilité par région.
- (recommandé)
- Identificateur de région
-
Un identificateur de région (parfois appelé
<region-identifier>
dans cette documentation) identifie la région du registre de conteneurs que vous utilisez.Par exemple :
us-ashburn-1
us-phoenix-1
Pour la liste des identificateurs de région, voir Disponibilité par région.
- clé de région
-
Une clé de région (parfois appelée
<region-key>
dans cette documentation) identifie la région du registre de conteneurs que vous utilisez.Par exemple :
iad
phx
Pour la liste des clés de région, voir Disponibilité par région.
- espace de noms de la location
-
Un espace de noms de location (parfois appelé
<tenancy-namespace>
dans cette documentation) est une chaîne de caractères alphanumériques générée automatiquement, aléatoire et non modifiable. Par exemple, l'espace de noms de la locationacme-dev
pourrait êtreansh81vru1zp
.Notez que, pour certaines locations plus anciennes, la chaîne d'espace de noms peut être identique au nom de la location, tout en minuscules (par exemple,
acme-dev
). Pour connaître l'espace de noms de la location courante, ouvrez le menu Profilet sélectionnez Location. L'espace de noms de la location est affiché dans le champ Espace de noms du stockage d'objets.
- nom du référentiel
-
Un nom de référentiel (parfois appelé
<repo-name>
dans cette documentation) est le nom d'un référentiel dans le registre de conteneurs, vers et depuis lequel vous pouvez pousser et extraire des images. Les noms de référentiel peuvent inclure une ou plusieurs barres obliques et sont uniques dans tous les compartiments de l'ensemble de la location.Par exemple :
project01/acme-web-app
project01/my-test-app
my-hello-app
project01/acme-web-app/component1
project01/acme-web-app/component2
project01/acme-web-app/component1/subcomponent1
Notez que bien qu'un nom de référentiel puisse inclure des caractères de barre oblique, la barre oblique ne représente pas une structure de répertoire hiérarchique. Il s'agit simplement d'un caractère dans une chaîne de caractères. Par commodité, vous pouvez choisir de démarrer les noms de plusieurs référentiels différents avec la même chaîne, se terminant peut-être par une barre oblique (par exemple,
project01/
). Une telle chaîne est parfois appelée "préfixe de nom de référentiel". Toutefois, un référentiel nomméproject01/acme-web-app
n'a aucune relation avec un référentiel nomméproject01/my-test-app
. L'utilisation du même préfixe de nom de référentiel pour certains référentiels facilite l'organisation et le contrôle de l'accès à ceux-ci dans le registre de conteneurs, qui peut contenir de nombreux autres référentiels. - Identificateur du registre
-
Un identificateur de registre inclut un domaine de registre de conteneur et un espace de noms de location, dans le format
<registry-domain>/<tenancy-namespace>
Par exemple :
ocir.us-ashburn-1.oci.oraclecloud.com/ansh81vru1zp
iad.ocir.io/ansh81vru1zp/project01
us-phoenix-1.ocir.io/cbujx0t3wa3r
- chemin de l'image
-
Un chemin d'image est le chemin d'accès complet à une image particulière dans un registre. Il étend le chemin du référentiel en ajoutant l'identificateur de version associé à l'image. Un chemin d'image a le format
<registry-domain>/<tenancy-namespace>/<repo-name>:<version>
Par exemple :
ocir.us-ashburn-1.oci.oraclecloud.com/ansh81vru1zp/project01/acme-web-app:v2.0.test
iad.ocir.io/ansh81vru1zp/project01/acme-web-app:v2.0.test
us-phoenix-1.ocir.io/cbujx0t3wa3r/my-hello-app:latest
- Identificateur de version
-
Un identificateur de version (parfois appelé
<version>
dans cette documentation) est une chaîne utilisée pour faire référence à une version d'image particulière d'un référentiel connu. Par exemple :4.6.3
4.6.4
v2.0.test
- nom de l'image
-
Le terme "nom d'image" est parfois utilisé comme un moyen court de se référer à une image particulière dans un référentiel particulier. Dans ce contexte, un nom d'image a la structure suivante :
<repo-name>:<version>
Par exemple :
project01/acme-web-app
:4.6.3
project01/acme-web-app
:4.6.4
my-hello-app:latest