O Container Registry Enterprise Edition armazena e distribui artefatos personalizados da Open Container Initiative (OCI) junto com imagens de contêiner e gráficos Helm. Este guia demonstra como enviar um arquivo local como artefato OCI personalizado para uma instância do Container Registry Enterprise Edition e recuperá-lo com o cliente ORAS (OCI Registry As Storage).
Pré-requisitos
Antes de começar, verifique se você tem:
Cliente ORAS instalado na máquina local. Consulte Instalação
Acesso à Internet ativado ou lista de controle de acesso (ACL) de VPC configurada para a instância do Container Registry Enterprise Edition. Este guia usa acesso pela Internet. Consulte Configure acesso pela Internet
Senha de login da instância do Container Registry Enterprise Edition. Se esqueceu a senha, redefina-a ao reconfigurar as credenciais de acesso. Consulte Configure credenciais de acesso para uma instância do Container Registry Enterprise Edition
Enviar um artefato OCI personalizado
Etapa 1: Defina variáveis de ambiente
Defina os detalhes do registro como variáveis de ambiente. Como todos os comandos subsequentes referenciam essas variáveis, atualize-as apenas uma vez.
REGISTRY=<instance-name>-registry.cn-<region>.cr.aliyuncs.com
NAMESPACE=<namespace>
REPO=<image-repository>
TAG=<artifact-version>
IMAGE=$REGISTRY/$NAMESPACE/$REPO:$TAG
Substitua os espaços reservados pelos valores reais:
|
Espaço reservado |
Descrição |
Exemplo |
|
|
Nome da instância Enterprise Edition |
|
|
|
Região onde a instância está implantada |
|
|
|
Namespace na instância |
|
|
|
Nome do repositório de imagens |
|
|
|
Tag de versão do artefato |
|
Etapa 2: Fazer login na instância
oras login --username=<username> $REGISTRY
Insira a senha de login quando solicitado. Um login bem-sucedido exibe:
login succeeded
Etapa 3: Crie um artefato local
Crie um arquivo de exemplo para usar como artefato:
echo "hello world" > artifact.txt
Etapa 4: Enviar o artefato
Envie o arquivo para a instância usando a variável $IMAGE definida anteriormente:
oras push $IMAGE \
--manifest-config /dev/null:application/vnd.customized.artifact.config \
./artifact.txt
A flag --manifest-config define o tipo de mídia do artefato como application/vnd.customized.artifact.config. Isso distingue o artefato personalizado de uma imagem de contêiner padrão, que usa application/vnd.oci.image.config.v1+json. O argumento ./artifact.txt especifica o arquivo local para upload.
Um envio bem-sucedido gera uma saída semelhante a:
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:...
Recuperar um artefato OCI personalizado
Etapa 1: Defina variáveis de ambiente
Em uma nova sessão de shell, defina as variáveis de ambiente novamente:
REGISTRY=<instance-name>-registry.cn-<region>.cr.aliyuncs.com
NAMESPACE=<namespace>
REPO=<image-repository>
TAG=<artifact-version>
IMAGE=$REGISTRY/$NAMESPACE/$REPO:$TAG
Etapa 2: Fazer login na instância
oras login --username=<username> $REGISTRY
Etapa 3: Recuperar o artefato
Exclua a cópia local primeiro para confirme que a recuperação obtém o arquivo do registro:
rm -f artifact.txt
oras pull $IMAGE
Etapa 4: Verifique o artefato
cat artifact.txt
Se a recuperação for bem-sucedida, a saída será:
hello world