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:
Uma vez que iniciou o contentor interativamente com -it
o , 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.