Container Registry Enterprise Edition stocke et distribue des artefacts Open Container Initiative (OCI) personnalisés aux côtés des images de conteneur et des charts Helm. Ce guide explique comment envoyer un fichier local en tant qu'artefact OCI personnalisé vers une instance Container Registry Enterprise Edition, puis l'extraire à l'aide du client ORAS (OCI Registry As Storage).
Prérequis
Avant de commencer, vérifiez que vous disposez des éléments suivants :
Le client ORAS installé sur votre machine locale. Consultez la page Installation
L'accès Internet activé ou une liste de contrôle d'accès (ACL) VPC configurée pour votre instance Container Registry Enterprise Edition. Ce guide utilise l'accès Internet. Consultez la rubrique Configurer l'accès via Internet
Le mot de passe de connexion de votre instance Container Registry Enterprise Edition. Si vous l'avez oublié, réinitialisez-le en reconfigurant les identifiants d'accès. Consultez la rubrique Configurer les identifiants d'accès pour une instance Container Registry Enterprise Edition
Envoyer un artefact OCI personnalisé
Étape 1 : Définir les variables d'environnement
Définissez les détails de votre registre sous forme de variables d'environnement. Les commandes suivantes utilisent ces variables ; il suffit donc de les mettre à jour une seule fois.
REGISTRY=<instance-name>-registry.cn-<region>.cr.aliyuncs.com
NAMESPACE=<namespace>
REPO=<image-repository>
TAG=<artifact-version>
IMAGE=$REGISTRY/$NAMESPACE/$REPO:$TAG
Remplacez les espaces réservés par vos valeurs réelles :
| Espace réservé | Description | Exemple |
|---|---|---|
<instance-name> |
Nom de votre instance Enterprise Edition | my-registry |
<region> |
Région de déploiement de l'instance | hangzhou |
<namespace> |
Namespace de votre instance | my-namespace |
<image-repository> |
Nom du référentiel d'images | my-artifacts |
<artifact-version> |
Tag de version de l'artefact | v1.0 |
Étape 2 : Se connecter à l'instance
oras login --username=<username> $REGISTRY
Saisissez votre mot de passe de connexion à l'invite. Une connexion réussie affiche le message suivant :
login succeeded
Étape 3 : Créer un artefact local
Créez un exemple de fichier qui servira d'artefact :
echo "hello world" > artifact.txt
Étape 4 : Envoyer l'artefact
Envoyez le fichier vers votre instance en utilisant la variable $IMAGE définie précédemment :
oras push $IMAGE \
--manifest-config /dev/null:application/vnd.customized.artifact.config \
./artifact.txt
L'option --manifest-config définit le type de média de l'artefact sur application/vnd.customized.artifact.config, ce qui distingue cet artefact personnalisé d'une image de conteneur standard (qui utilise application/vnd.oci.image.config.v1+json). L'argument ./artifact.txt spécifie le fichier local à envoyer.
Un envoi réussi produit une sortie similaire à celle-ci :
Uploading a948904f2f0f artifact.txt
Uploaded a948904f2f0f artifact.txt
Pushed [registry] <instance-name>-registry.cn-<region>.cr.aliyuncs.com/<namespace>/<image-repository>:<artifact-version>
Digest: sha256:...
Extraire un artefact OCI personnalisé
Étape 1 : Définir les variables d'environnement
Si vous utilisez une nouvelle session de shell, redéfinissez les variables d'environnement :
REGISTRY=<instance-name>-registry.cn-<region>.cr.aliyuncs.com
NAMESPACE=<namespace>
REPO=<image-repository>
TAG=<artifact-version>
IMAGE=$REGISTRY/$NAMESPACE/$REPO:$TAG
Étape 2 : Se connecter à l'instance
oras login --username=<username> $REGISTRY
Étape 3 : Extraire l'artefact
Supprimez d'abord la copie locale pour confirmer que l'extraction récupère bien le fichier depuis le registre :
rm -f artifact.txt
oras pull $IMAGE
Étape 4 : Vérifier l'artefact
cat artifact.txt
Si l'extraction a réussi, la sortie est la suivante :
hello world