Partilhar via


Guia de início rápido: criar um registro de contêiner privado usando a CLI do Azure

O Registro de Contêiner do Azure é um serviço de registro privado para criar, armazenar e gerenciar imagens de contêiner e artefatos relacionados. Neste início rápido, você cria uma instância de registro de contêiner do Azure com a CLI do Azure. Em seguida, use os comandos do Docker para enviar uma imagem de contêiner para o registro e, finalmente, puxe e execute a imagem do seu registro.

Este início rápido requer que você esteja executando a CLI do Azure (versão 2.0.55 ou posterior recomendada). Executar az --version para localizar a versão. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI).

Também tem de ter o Docker instalado localmente. O Docker disponibiliza pacotes que o configuram facilmente em qualquer sistema macOS, Windows ou Linux.

Uma vez que o Azure Cloud Shell não inclui todos os componentes do Docker necessários (o daemon dockerd), não é possível utilizar o Cloud Shell para este guia de início rápido.

Criar um grupo de recursos

Crie um grupo de recursos com o comando az group create. Um grupo de recursos do Azure é um contentor lógico no qual os recursos do Azure são implementados e geridos.

O exemplo seguinte cria um grupo de recursos com o nome myResourceGroup na localização eastus.

az group create --name myResourceGroup --location eastus

Criar um registo de contentores

Neste início rápido, você cria um Registro Básico , que é uma opção de custo otimizado para desenvolvedores que aprendem sobre o Registro de Contêiner do Azure. Para obter detalhes sobre as camadas de serviço disponíveis, consulte Camadas de serviço do Registro de contêiner.

Crie uma instância do ACR com o comando az acr create. O nome do Registro deve ser exclusivo no Azure e conter de 5 a 50 caracteres alfanuméricos minúsculos. No exemplo a seguir, mycontainerregistry é usado. Atualize para um valor exclusivo.

az acr create --resource-group myResourceGroup \
  --name mycontainerregistry --sku Basic

Quando o registo é criado, o resultado é semelhante ao seguinte:

{
  "adminUserEnabled": false,
  "creationDate": "2019-01-08T22:32:13.175925+00:00",
  "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/mycontainerregistry",
  "location": "eastus",
  "loginServer": "mycontainerregistry.azurecr.io",
  "name": "mycontainerregistry",
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "sku": {
    "name": "Basic",
    "tier": "Basic"
  },
  "status": null,
  "storageAccount": null,
  "tags": {},
  "type": "Microsoft.ContainerRegistry/registries"
}

Anote na saída, que é o nome do loginServer registro totalmente qualificado (todas minúsculas). O restante deste início <registry-name> rápido é um espaço reservado para o nome do registro do contêiner e <login-server> é um espaço reservado para o nome do servidor de logon do registro.

Gorjeta

Neste início rápido, você cria um Registro Básico , que é uma opção de custo otimizado para desenvolvedores que aprendem sobre o Registro de Contêiner do Azure. Escolha outros níveis para aumentar o armazenamento e a taxa de transferência de imagem, além de recursos como conexão usando um ponto de extremidade privado. Para obter detalhes sobre as camadas de serviço disponíveis (SKUs), consulte Camadas de serviço do Registro de contêiner.

Iniciar sessão no registo

Antes de enviar e extrair imagens de contêiner, você deve fazer login no registro. Para tal, utilize o comando az acr login. Especifique apenas o nome do recurso do Registro ao fazer logon com a CLI do Azure. Não use o nome do servidor de login totalmente qualificado.

az acr login --name <registry-name>

Exemplo:

az acr login --name mycontainerregistry

O comando devolve uma mensagem de Login Succeeded depois de estar concluído.

Enviar imagem para o registo

Para enviar uma imagem para um registo do Azure Container, primeiro tem de ter uma imagem. Se você ainda não tiver nenhuma imagem de contêiner local, execute o seguinte comando docker pull para extrair uma imagem pública existente. Para este exemplo, extraia a hello-world imagem do Microsoft Container Registry.

docker pull mcr.microsoft.com/hello-world

Antes de enviar uma imagem para o seu registro, você deve marcá-la com o nome totalmente qualificado do seu servidor de login do registro. O nome do servidor de login está no formato <registry-name.azurecr.io> (deve ser todo minúsculo), por exemplo, mycontainerregistry.azurecr.io.

Crie uma etiqueta para a imagem com o comando etiqueta do docker. Substitua <login-server> pelo nome do servidor de início de sessão da sua instância do ACR.

docker tag mcr.microsoft.com/hello-world <login-server>/hello-world:v1

Exemplo:

docker tag mcr.microsoft.com/hello-world mycontainerregistry.azurecr.io/hello-world:v1

Por fim, use o docker push para enviar a imagem para a instância do Registro. Substitua <login-server> pelo nome do servidor de login da sua instância do Registro. Este exemplo cria o repositório hello-world , contendo a hello-world:v1 imagem.

docker push <login-server>/hello-world:v1

Depois de enviar a imagem para o registro do contêiner, remova-a hello-world:v1 do ambiente local do Docker. (Observe que esse comando docker rmi não remove a imagem do repositório hello-world em seu registro de contêiner do Azure.)

docker rmi <login-server>/hello-world:v1

Listar imagens de contentor

O exemplo a seguir lista os repositórios em seu registro:

az acr repository list --name <registry-name> --output table

Saída:

Result
----------------
hello-world

O exemplo a seguir lista as tags no repositório hello-world .

az acr repository show-tags --name <registry-name> --repository hello-world --output table

Saída:

Result
--------
v1

Executar imagem do registo

Agora, você pode extrair e executar a imagem do contêiner do seu registro de contêiner usando o hello-world:v1 docker run:

docker run <login-server>/hello-world:v1  

Saída de exemplo:

Unable to find image 'mycontainerregistry.azurecr.io/hello-world:v1' locally
v1: Pulling from hello-world
Digest: sha256:662dd8e65ef7ccf13f417962c2f77567d3b132f12c95909de6c85ac3c326a345
Status: Downloaded newer image for mycontainerregistry.azurecr.io/hello-world:v1

Hello from Docker!
This message shows that your installation appears to be working correctly.

[...]

Clean up resources (Limpar recursos)

Quando não for mais necessário, você poderá usar o comando az group delete para remover o grupo de recursos, o registro de contêiner e as imagens de contêiner armazenadas lá.

az group delete --name myResourceGroup

Próximos passos

Neste início rápido, você criou um Registro de Contêiner do Azure com a CLI do Azure, enviou uma imagem de contêiner para o Registro e extraiu e executou a imagem do Registro. Continue para os tutoriais do Registro de Contêiner do Azure para obter uma visão mais profunda do ACR.