Início Rápido: Criar um registo de contentor privado com a CLI do Azure
Azure Container Registry é um serviço de registo privado para criar, armazenar e gerir imagens de contentor e artefactos relacionados. Neste início rápido, vai criar uma instância do Azure Container Registry com a CLI do Azure. Em seguida, utilize os comandos do Docker para enviar uma imagem de contentor para o registo e, por fim, solicitar e executar a imagem a partir do seu registo.
Este início rápido requer que esteja a executar 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 contentor
Neste início rápido, vai criar um registo Básico, que é uma opção otimizada para custos para os programadores aprenderem sobre Azure Container Registry. Para obter detalhes sobre os escalões de serviço disponíveis, veja Escalões de serviço de registo de contentor.
Crie uma instância do ACR com o comando az acr create. O nome do registo tem de ser exclusivo no Azure e conter 5 a 50 carateres alfanuméricos em minúsculas. No exemplo seguinte, é utilizado mycontainerregistry . 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/00000000-0000-0000-0000-000000000000/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"
}
Tome nota no loginServer
resultado, que é o nome de registo completamente qualificado (todos em minúsculas). O resto deste início <registry-name>
rápido é um marcador de posição para o nome do registo de contentor e <login-server>
é um marcador de posição para o nome do servidor de início de sessão do registo.
Dica
Neste início rápido, vai criar um registo Básico, que é uma opção otimizada para custos para os programadores aprenderem sobre Azure Container Registry. Escolha outras camadas para aumentar o débito de armazenamento e de imagens e capacidades, como a ligação através de um ponto final privado. Para obter detalhes sobre os escalões de serviço (SKUs) disponíveis, veja Escalões de serviço de registo de contentor.
Iniciar sessão no registo
Antes de emitir e solicitar imagens de contentor, tem de iniciar sessão no registo. Para tal, utilize o comando az acr login. Especifique apenas o nome do recurso de registo ao iniciar sessão com a CLI do Azure. Não utilize o nome do servidor de início de sessão completamente 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 ainda não tiver imagens de contentor locais, execute o seguinte comando docker pull para solicitar uma imagem pública existente. Neste exemplo, extraia a hello-world
imagem do Microsoft Container Registry.
docker pull mcr.microsoft.com/hello-world
Antes de poder enviar uma imagem para o seu registo, tem de a etiquetar com o nome completamente qualificado do servidor de início de sessão do registo. O nome do servidor de início de sessão está no formato <registry-name.azurecr.io> (tem de estar em minúsculas), 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, utilize docker push para enviar a imagem para a instância de registo. Substitua <login-server>
pelo nome do servidor de início de sessão da sua instância de registo. Este exemplo cria o repositório hello-world , que contém a hello-world:v1
imagem.
docker push <login-server>/hello-world:v1
Depois de enviar a imagem para o registo de contentor, remova a hello-world:v1
imagem do seu ambiente local do Docker. (Tenha em atenção que este comando docker rmi não remove a imagem do repositório hello-world no seu registo de contentor do Azure.)
docker rmi <login-server>/hello-world:v1
Listar imagens de contentor
O exemplo seguinte lista os repositórios no seu registo:
az acr repository list --name <registry-name> --output table
Resultado:
Result
----------------
hello-world
O exemplo seguinte lista as etiquetas no repositório hello-world .
az acr repository show-tags --name <registry-name> --repository hello-world --output table
Resultado:
Result
--------
v1
Executar imagem a partir do registo
Agora, pode solicitar e executar a imagem de contentor a hello-world:v1
partir do registo de contentor com a execução do docker:
docker run <login-server>/hello-world:v1
Exemplo de saída:
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.
[...]
Limpar os recursos
Quando já não for necessário, pode utilizar o comando az group delete para remover o grupo de recursos, o registo de contentor e as imagens de contentor aí armazenadas.
az group delete --name myResourceGroup
Passos seguintes
Neste início rápido, criou um Azure Container Registry com a CLI do Azure, emite uma imagem de contentor para o registo e puxou e executou a imagem a partir do registo. Continue para os tutoriais Azure Container Registry para uma análise mais aprofundada do ACR.