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
Há 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:
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.