Enviar a sua primeira imagem para o registo de contentor do Azure com a CLI do Docker

Um registo de contentor do Azure armazena e gere imagens de contentor privadas e outros artefactos, semelhantes à forma como Docker Hub armazena imagens públicas de contentor do Docker. Pode utilizar a interface de linha de comandos do Docker (CLI do Docker) para iniciar sessão, emitir, solicitar e outras operações de imagem de contentor no seu registo de contentor.

Nos seguintes passos, transfira uma imagem Nginx pública, marque-a para o seu registo de contentor privado do Azure, envie-a para o seu registo e, em seguida, extraia-a do registo.

Pré-requisitos

  • Registo de contentores do Azure - crie um registos de contentores na sua subscrição do Azure. Por exemplo, utilize o portal do Azure, a CLI do Azure ou Azure PowerShell.
  • CLI do Docker – também tem de ter o Docker instalado localmente. O Docker disponibiliza pacotes que o configuram facilmente em qualquer sistema macOS, Windows ou Linux.

Iniciar sessão num registo

Existem várias formas de autenticar no seu registo de contentor privado.

O método recomendado ao trabalhar numa linha de comandos é com o comando da CLI do Azure az acr login. Por exemplo, para aceder a um registo com o nome myregistry, inicie sessão na CLI do Azure e, em seguida, autentique-se no seu registo:

az login
az acr login --name myregistry

Também pode iniciar sessão com o início de sessão do Docker. Por exemplo, pode ter atribuído um principal de serviço ao seu registo para um cenário de automatização. Quando executar o seguinte comando, forneça interativamente o appID (nome de utilizador) e a palavra-passe do principal de serviço quando lhe for pedido. Para obter as melhores práticas para gerir credenciais de início de sessão, veja a referência do comando docker login :

docker login myregistry.azurecr.io

Ambos os comandos devolvem Login Succeeded uma vez concluídos.

Nota

  • Poderá querer utilizar o Visual Studio Code com a extensão do Docker para um início de sessão mais rápido e conveniente.

Dica

Especifique sempre o nome do registo completamente qualificado (todos em minúsculas) quando utiliza docker login e quando etiqueta imagens para enviar para o seu registo. Nos exemplos neste artigo, o nome completamente qualificado é myregistry.azurecr.io.

Extrair uma imagem Nginx pública

Primeiro, puxe uma imagem Nginx pública para o seu computador local. Este exemplo extrai a imagem Nginx oficial.

docker pull nginx

Executar o contentor localmente

Execute o seguinte comando docker run para iniciar uma instância local do contentor Nginx interativamente (-it) na porta 8080. O --rm argumento especifica que o contentor deve ser removido quando o parar.

docker run -it --rm -p 8080:80 nginx

Navegue para http://localhost:8080 ver a página Web predefinida servida pelo Nginx no contentor em execução. Deverá ver uma página semelhante à seguinte:

Nginx no computador local

Uma vez que iniciou o contentor interativamente com -ito , pode ver a saída do servidor Nginx na linha de comandos depois de navegar para o mesmo no browser.

Para parar e remover o contentor, prima Control+C.

Criar um alias da imagem

Utilize a etiqueta docker para criar um alias da imagem com o caminho completamente qualificado para o seu registo. Este exemplo especifica o espaço de nomes samples para evitar sobrepovoar a raiz do registo.

docker tag nginx myregistry.azurecr.io/samples/nginx

Para obter mais informações sobre a identificação com espaços de nomes, veja a secção Espaços de nomes do repositório de Melhores práticas para Azure Container Registry.

Enviar a imagem para o registo

Agora que marcou a imagem com o caminho completamente qualificado para o seu registo privado, pode enviá-la para o registo com docker push:

docker push myregistry.azurecr.io/samples/nginx

Extrair a imagem do registo

Utilize o comando docker Pull para extrair a imagem do seu registo:

docker pull myregistry.azurecr.io/samples/nginx

Iniciar o contentor de Nginx

Utilize o comando docker run para executar a imagem que retirou do registo:

docker run -it --rm -p 8080:80 myregistry.azurecr.io/samples/nginx

Navegue para http://localhost:8080 ver o contentor em execução.

Para parar e remover o contentor, prima Control+C.

Remover a imagem (opcional)

Se já não precisar da imagem Nginx, pode eliminá-la localmente com o comando docker rmi .

docker rmi myregistry.azurecr.io/samples/nginx

Para remover imagens do registo de contentores do Azure, pode utilizar o comando da CLI do Azure az acr repository delete. Por exemplo, o seguinte comando elimina o manifesto referenciado pela samples/nginx:latest etiqueta, quaisquer dados de camada exclusivos e todas as outras etiquetas que referenciam o manifesto.

az acr repository delete --name myregistry --image samples/nginx:latest

Recomendações

Aqui, pode encontrar mais informações sobre as opções de autenticação.

Passos seguintes

Agora que sabe as noções básicas, está pronto para começar a utilizar o seu registo! Por exemplo, implemente imagens de contentor do seu registo para:

Opcionalmente, instale a Extensão do Docker para Visual Studio Code e a extensão da Conta do Azure para trabalhar com os registos de contentores do Azure. Puxe e envie imagens para um registo de contentor do Azure ou execute tarefas do ACR, tudo no Visual Studio Code.