Efetue push de sua primeira imagem para um registro de contêiner usando a CLI do Docker

Um registro de contêiner do Azure armazena e gerencia imagens privadas do contêiner e outros artefatos, de forma semelhante ao modo como o Docker Hub armazena imagens públicas do Docker. Você pode usar a Interface de linha de comando do Docker (Docker CLI) para logon, push, pull e outras operações de imagem do contêiner no registro de contêiner.

Nas etapas a seguir, você baixará uma imagem Nginx pública, a rotulará para o registro de contêiner do Azure privado, a enviará por push para o registro e, em seguida, efetuará pull dela do registro.

Pré-requisitos

  • Registro de Contêiner do Azure - crie um registro de contêiner em sua assinatura do Azure. Por exemplo, use o portal do Azure, a CLI do Azure ou o Azure PowerShell.
  • CLI do Docker – você também deve ter o Docker instalado localmente. O Docker fornece pacotes que configuram facilmente o Docker em qualquer sistema macOS, Windows ou Linux.

Fazer logon em um registro

várias maneiras de autenticar no registro de contêiner privado.

É o método recomendado ao trabalhar em uma linha de comando com o comando logon de acr az da CLI do Azure. Por exemplo, para fazer logon em um registro chamado myregistry, faça logon no CLI do Azure e, em seguida, autentique-se no registro:

az login
az acr login --name myregistry

Você também pode fazer logon com o logon do docker. Por exemplo, você pode atribuir uma entidade de serviço ao registro para um cenário de automação. Quando você executa o comando a seguir, forneça interativamente o appID (nome de usuário) e a senha da entidade de serviço quando solicitado. Para obter práticas recomendadas gerenciar credenciais de logon, confira a referência do comando docker login:

docker login myregistry.azurecr.io

Os dois comandos retornam Login Succeeded após a conclusão.

Observação

  • Talvez você queira usar o Visual Studio Code com a extensão do Docker para um fazer um logon mais rápido e conveniente.

Dica

Sempre especifique o nome totalmente qualificado do registro (todas as letras minúsculas) quando você usar docker login e quando marcar imagens para envio por push para o registro. Nos exemplos deste artigo, o nome totalmente qualificado é myregistry.azurecr.io.

Efetuar pull de uma imagem Nginx pública

Primeiro, efetue pull da imagem Nginx pública para seu computador local. Esse exemplo extrai a imagem oficial do Nginx.

docker pull nginx

Executar o contêiner localmente

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

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

Navegue até http://localhost:8080 para exibir a página da Web padrão servida pelo Nginx no contêiner em execução. Você verá uma página semelhante à seguinte:

Nginx no computador local

Como você iniciou o contêiner interativamente com -it, poderá ver a saída do servidor Nginx na linha de comando depois de ir até ele em seu navegador.

Para parar e remover o contêiner, pressione Control+C.

Criar um alias da imagem

Use docker tag para criar um alias da imagem com o caminho totalmente qualificado para o registro. Este exemplo especifica o namespace samples para evitar confusão na raiz do registro.

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

Para saber mais sobre a marcação com namespaces, veja a seção Namespaces de repositório de Práticas recomendadas para o Registro de Contêiner do Azure.

Enviar por push a imagem ao registro

Agora que você já marcou a imagem com o caminho totalmente qualificado para o registro privado, poderá enviá-la por push para o registro com docker push:

docker push myregistry.azurecr.io/samples/nginx

Fazer pull da imagem do registro

Use o comando docker pull para fazer pull da imagem do registro:

docker pull myregistry.azurecr.io/samples/nginx

Iniciar o contêiner Nginx

Use o comando docker run para executar a imagem extraída por pull do registro:

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

Navegue até http://localhost:8080 para exibir o contêiner em execução.

Para parar e remover o contêiner, pressione Control+C.

Remover a imagem (opcional)

Se você não precisar mais da imagem Nginx, poderá excluí-la localmente com o comando docker rmi.

docker rmi myregistry.azurecr.io/samples/nginx

Para remover as imagens de seu registro de contêiner do Azure, você pode usar o comando az acr repository delete da CLI do Azure. Por exemplo, o comando a seguir exclui o manifesto referenciado pela marca samples/nginx:latest, quaisquer dados da camada exclusiva e todas as outras marcas que façam referência ao manifesto.

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

Recomendações

Aqui você pode encontrar mais informações sobre as Opções de autenticação.

Próximas etapas

Agora que conhece os fundamentos, você está pronto para começar a usar o registro! Por exemplo, implante as imagens de contêiner do Registro para:

Opcionalmente, instale a Extensão do Docker para Visual Studio Code e a extensão Conta do Azure para trabalhar com seus registros de contêiner do Azure. Efetue pull e push de imagens para um registro de contêiner do Azure ou execute Tarefas do ACR, tudo isso no Visual Studio Code.