Use uma instância do Container Registry Enterprise Edition para enviar, fazer pull, armazenar e gerenciar imagens de contêiner em diferentes ambientes.
Pré-requisitos
Crie uma conta Alibaba Cloud. Sign up for an Alibaba Cloud account.
Instale o Docker Engine. Install and use Docker Engine and Docker Compose.
Ative o OSS. O Container Registry Enterprise Edition depende do OSS. Activate OSS.
O Container Registry não permite o upload direto de imagens no console. Envie as imagens pela linha de comando do Docker: execute
docker loginpara fazer login na instância,docker tagpara aplicar uma tag à imagem edocker pushpara enviar a imagem ao repositório.
Etapa 1: Criar uma instância Enterprise Edition
Faça login no Container Registry console.
Na barra de navegação superior, selecione uma região.
No painel de navegação à esquerda, clique em Instances.
Na página Instances, clique em Create ACR EE.
-
Na página Create ACR EE, configure as informações básicas e clique em Buy Now.
Parâmetro
Descrição
Region
Selecione a região de implantação da instância.
Specification
Escolha um tipo de instância. Os tipos disponíveis estão descritos em What is Alibaba Cloud Container Registry (ACR)?.
Name
Insira um nome para a instância.
Instance Storage
Valores válidos: Default e Custom.
-
Default: Um bucket do OSS é criado automaticamente na sua conta para armazenar imagens.
-
Custom: Selecione um bucket do OSS existente para armazenar imagens.
Select Bucket
Escolha um bucket do OSS existente para armazenar imagens.
NotaEste parâmetro é obrigatório apenas quando você define Instance Storage como Custom.
Security Scan
Selecione um mecanismo de varredura:
-
Trivy Scan Engine: Mecanismo de código aberto. Detecta vulnerabilidades de sistema e de aplicativos. Não oferece suporte a correções com um clique para vulnerabilidades do sistema.
-
Security Center Scan Engine: Mecanismo da Alibaba Cloud. Detecta vulnerabilidades de sistema, vulnerabilidades de aplicativos, riscos de linha de base e amostras maliciosas. Oferece suporte a correções com um clique para vulnerabilidades do sistema.
Repository quota
Padrão: 1.000 (Basic), 3.000 (Standard), 5.000 (Advanced). Você pode aumentar a cota conforme necessário.
Namespace quota
Padrão: 15 (Basic), 25 (Standard), 50 (Advanced). Você pode aumentar a cota conforme necessário.
VPC access control quota
Adquira esta cota se o seu service fizer pull de imagens por meio de uma VPC. Billing.
Subscription Duration
É possível selecionar 1, 2, 3 ou 6 meses, ou de 1 a 5 anos.
NotaA renovação automática também está disponível.
Resource Groups
Selecione um Resource Group existente. Você também pode clicar em Create Resource Group e, na caixa de diálogo exibida, inserir o Resource Group Identifier e o Resource Group Name, e então clicar em Confirm.
-
Na página Confirm Order, verifique os Parameters, revise os Terms of Service and Service Level Agreement (SLA) e clique em Payment.
-
Na página Pay, verifique o custo total e conclua o pagamento.
Na página Instances, a nova instância exibe o status Starting. Após 2 a 3 minutos, o status muda para Running.
Etapa 2: Obter o nome de usuário do repositório
Se você utiliza uma conta Alibaba Cloud, o nome da conta corresponde ao seu nome de usuário para o repositório de imagens.
Caso utilize um usuário RAM, seu nome de usuário é a parte do UPN anterior a .onaliyun.com. Por exemplo, se o UPN do seu usuário RAM for 123@123456781011**.onaliyun.com, seu nome de usuário será 123@123456781011**.
Etapa 3: Definir a senha do repositório
O envio e o pull de imagens exigem uma credencial fixa. Configure access credentials.
Etapa 4: Criar um namespace
Faça login no Container Registry console.
Na barra de navegação superior, selecione uma região.
No painel de navegação à esquerda, clique em Instances.
Na página Instances, clique na instância Enterprise Edition desejada.
No painel de navegação à esquerda da página de detalhes da instância, escolha .
Na página Namespace, clique em Create Namespace.
-
Na barra lateral Create Namespace, defina o nome do Namespace, ative (On) ou desative (Off) a opção Automatically Create Repository e clique em Confirm.
Se você selecionar On Automatically Create Repository, siga as etapas abaixo:
Elemento da interface
Descrição
Repository Type
-
Public: Por padrão, os usuários precisam fazer login na instância Enterprise Edition para fazer pull de imagens públicas. Para permitir pulls anônimos, ative o acesso anônimo para a instância.
Recomendamos definir o tipo de repositório como Private para garantir a segurança dos dados.
-
Private: Para fazer pull de imagens privadas, os usuários devem fazer login na instância Enterprise Edition e possuir as permissões de Pull necessárias.
Immutable Image Tags
Flexible. Ao selecionar esta opção, as tags de imagem neste repositório (exceto
latest) não podem ser sobrescritas, o que garante a consistência das tags de imagem de contêiner.Accelerated Image
Define se o recurso está Off. Se você marcar a caixa de seleção, uma tag de imagem acelerada com o sufixo
_acceleratedserá gerada automaticamente no repositório. -
Etapa 5: Criar um repositório de imagens
Faça login no Container Registry console.
Na barra de navegação superior, selecione uma região.
No painel de navegação à esquerda, clique em Instances.
Na página Instances, clique na instância Enterprise Edition desejada.
No painel de navegação à esquerda da página de detalhes da instância, escolha .
Na página Repositories, clique em Create Repository.
No assistente Repository Info, configure Namespace, Repository Name, Repository Type, Image Version, Accelerated Image, Summary e Description. Em seguida, clique em Next.
-
No assistente Code Source, configure Code Source, Build Settings e Build Rules. Depois, clique em Create Repository.
Parâmetro
Descrição
Code Source
Selecione uma source de código.
Build Settings
-
Automatically Build Images When Code Changes: Aciona uma build a cada commit de código.
-
Build With Servers Deployed Outside Chinese mainland: Cria imagens fora da China continental e envia para a região especificada.
-
Build Without Cache: Sempre faz pull de uma imagem base nova. Pode aumentar o tempo de build.
Build Rules
Após criar o repositório, configure as regras de build na página de build. Build repositories and images.
-
Etapa 6: Configurar o controle de acesso
Caso seu cliente Docker esteja em uma VPC, configure o controle de acesso à VPC para permitir a conexão. Configure a VPC access control list.
Se o seu cliente Docker se conecta pela internet, configure o controle de acesso à internet para a instância.
Faça login no Container Registry console.
Na barra de navegação superior, selecione uma região.
No painel de navegação à esquerda, clique em Instances.
Na página Instances, clique na instância Enterprise Edition que deseja gerenciar.
No painel de navegação à esquerda da página de detalhes da instância, escolha .
Na página Access Control, clique na aba Internet, ative a chave Enable Access over Internet e, em seguida, clique em Add Internet Whitelist.
-
Na caixa de diálogo Add Internet Whitelist, insira o bloco CIDR do host do seu cliente Docker e uma descrição, e então clique em Confirm.
Clientes Docker originários do bloco CIDR especificado poderão acessar a instância.
ImportantePara permitir que todos os clientes Docker na internet acessem a instância, você deve ativar o acesso à internet e excluir todas as entradas da lista de permissões da internet. Nota: Expor uma instância à internet pública cria um risco de segurança. Proceda com cautela.
Etapa 7: Enviar e fazer pull de uma imagem
Execute os seguintes comandos no seu cliente Docker.
-
Faça login no repositório de imagens:
NotaSe você estiver enviando para ou fazendo pull de um repositório de imagens público, poderá ativar Pull from Anonymous Users na página Overview do Container Registry console. Isso permite fazer pull de imagens anonimamente, sem necessidade de login.
docker login --username=<username> <instance_name>-registry.<region>.cr.aliyuncs.comExemplo:
docker login --username=123@1234567810111213 m**-registry.cn-hangzhou.cr.aliyuncs.comQuando solicitado, insira a senha obtida em Step 3: Set the repository password. Uma mensagem
login succeededconfirma o sucesso da operação. -
Envie uma imagem.
-
Aplique uma tag à imagem:
docker tag <image_id> <instance_name>-registry.<region>.cr.aliyuncs.com/<namespace>/<repository_name>:<image_tag>Exemplo:
docker tag Digest m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest -
Envie a imagem:
docker push <instance_name>-registry.<region>.cr.aliyuncs.com/<namespace>/<repository_name>:<image_tag>Exemplo:
docker push m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latestNa página Repositories, clique no nome do repositório alvo e escolha Image Version. Verifique se a imagem enviada aparece na página Image Version.
-
-
Faça o pull da imagem:
docker pull <instance_name>-registry.<region>.cr.aliyuncs.com/<namespace>/<repository_name>:<image_tag>Exemplo:
docker pull m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latestExecute
docker imagespara verificar se a imagem aparece na saída.