Saiba como usar os comandos docker login, docker pull e docker push com instâncias do Container Registry (ACR) Enterprise Edition.
Pré-requisitos
Instale o Docker. Consulte Instalar e usar o Docker e o Docker Compose.
Crie uma instância do Container Registry Enterprise Edition. Consulte Criar uma instância Enterprise Edition.
docker login
O exemplo a seguir faz login em uma instância Enterprise Edition na região China (Hangzhou).
-
Execute o comando de login com o nome de domínio da sua instância Enterprise Edition. Insira seu nome de usuário e senha quando solicitado.
NotaO nome de domínio da instância Enterprise Edition usa o formato
<instance-name>-registry.cn-hangzhou.cr.aliyuncs.com. Para encontrar o nome de domínio, faça login no Container Registry console e acesse a página Access Control.A senha de login difere da senha da sua conta Alibaba Cloud. Consulte Configurar credenciais de acesso.
Em caso de sucesso, a mensagem
Login Succeededé exibida.docker login <instance-name>-registry.cn-hangzhou.cr.aliyuncs.com Username: ****@test.com Password: Login Succeeded -
Verifique suas credenciais de login no arquivo config.json.
Execute o seguinte comando:
cat ~/.docker/config.jsonSaída esperada:
{ "auths": { "<instance-name>-registry.cn-hangzhou.cr.aliyuncs.com": { "auth": "****" } } }
docker pull
O exemplo a seguir baixa a imagem <instance-name>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8.
Execute o seguinte comando:
docker pull <instance-name>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8
Saída esperada:
0.8: Pulling from acs/agent
5a026b6c4964: Already exists
e4b621e8d9cb: Already exists
8bc2fd04bdd4: Pull complete
a977b0087b3e: Pull complete
8f6e00ea13c6: Pull complete
875dd8c9666f: Pull complete
9c07bcabc35d: Pull complete
Digest: sha256:cac848bd31bccf2a041bda7b57e3051341093abde6859df9ee9d332dfec6ddd9
Status: Downloaded newer image for <instance-name>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8
O domínio de login deve corresponder ao domínio do registro de imagens. Se você estiver autenticado em
<instance-name>-registry.cn-hangzhou.cr.aliyuncs.com, tentar baixar ou enviar imagens de<instance-name>-registry.cn-beijing.cr.aliyuncs.comretorna um erro de não autorizado.Consulte Usar assinatura de artefatos para baixar imagens de fontes no exterior.
Execute docker images para listar as imagens baixadas. Observe o nome do repositório e a tag.
docker images
Saída esperada:
REPOSITORY TAG IMAGE ID CREATED SIZE
<instance-name>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent 0.8 b9ba5841bdb0 24 hours ago 42.18 MB
docker push
Envie imagens criadas localmente para sua instância Enterprise Edition.
Você deve ter as permissões necessárias no repositório. Caso contrário, o envio falha com um erro de autenticação.
Execute o seguinte comando:
docker push <instance-name>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8
A saída a seguir indica que o envio falhou devido a um erro de autenticação:
The push refers to a repository [<instance-name>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8]
359f80267111: Layer already exists
7e5fa28d90b8: Layer already exists
b20d7f600f63: Layer already exists
4a159b4f8370: Layer already exists
7c3712ebe877: Layer already exists
d91d130a53aa: Layer already exists
fcad8ad5a40f: Layer already exists
unauthorized: authentication required
Fazer login como usuário RAM
Como usuário RAM, faça login no Container Registry console e acesse a página Access Credentials para definir uma senha de login.
-
Use
[RAM username]@[enterprise alias]como nome de usuário para fazer login.Defina ou visualize o alias da empresa no RAM console. Se nenhum alias estiver definido, o UID da conta Alibaba Cloud será usado por padrão.
Por exemplo, se o nome de usuário RAM for
subaccounte o alias da empresa foraccount-alias:docker login <instance-name>-registry.cn-hangzhou.cr.aliyuncs.com Username: subaccount@account-alias Password: Login Succeeded