Empurre a sua primeira imagem para o seu registo de contentores Azure usando o Docker CLIPush your first image to your Azure container registry using the Docker CLI

Um registo de contentores Azure armazena e gere imagens privadas de contentores e outros artefactos, semelhantes à forma como o Docker Hub armazena imagens públicas de contentores Docker.An Azure container registry stores and manages private container images and other artifacts, similar to the way Docker Hub stores public Docker container images. Pode utilizar a interface da linha de comando Do docker (Docker CLI) para login, push, pulle outras operações de imagem de contentores no registo do seu contentor.You can use the Docker command-line interface (Docker CLI) for login, push, pull, and other container image operations on your container registry.

Nos passos seguintes, você descarrega uma imagem pública Nginx,marque-a para o seu registo privado de contentores Azure, empurre-a para o seu registo e, em seguida, retire-a do registo.In the following steps, you download a public Nginx image, tag it for your private Azure container registry, push it to your registry, and then pull it from the registry.

Pré-requisitosPrerequisites

  • Registo de contentores do Azure - crie um registos de contentores na sua subscrição do Azure.Azure container registry - Create a container registry in your Azure subscription. Por exemplo, utilize o portal Azure ou o Azure CLI.For example, use the Azure portal or the Azure CLI.
  • Docker CLI - Também deve ter Docker instalado localmente.Docker CLI - You must also have Docker installed locally. O Docker disponibiliza pacotes que o configuram facilmente em qualquer sistema macOS, Windows ou Linux.Docker provides packages that easily configure Docker on any macOS, Windows, or Linux system.

Iniciar sessão num registoLog in to a registry

Existem várias formas de autenticar o seu registo privado de contentores.There are several ways to authenticate to your private container registry. O método recomendado ao trabalhar numa linha de comando é com o login Azure CLI az acr.The recommended method when working in a command line is with the Azure CLI command az acr login. Por exemplo, para iniciar sessão num registo denominado miogrísta, inicie sessão no CLI Azure e, em seguida, autense no seu registo:For example, to log in to a registry named myregistry, log into the Azure CLI and then authenticate to your registry:

az login
az acr login --name myregistry

Também pode iniciar sessão com o login do Docker.You can also log in with docker login. Por exemplo, pode ter atribuído um principal de serviço ao seu registo para um cenário de automação.For example, you might have assigned a service principal to your registry for an automation scenario. Quando executar o seguinte comando, forneça interativamente o appID principal do serviço (nome de utilizador) e a palavra-passe quando solicitado.When you run the following command, interactively provide the service principal appID (username) and password when prompted. Para obter as melhores práticas para gerir as credenciais de login, consulte a referência do comando de login do estivador:For best practices to manage login credentials, see the docker login command reference:

docker login myregistry.azurecr.io

Ambos os comandos regressam Login Succeeded uma vez concluídos.Both commands return Login Succeeded once completed.

Nota

  • Você pode querer usar Código de Estúdio Visual com extensão Docker para um login mais rápido e conveniente.You might want to use Visual Studio Code with Docker extension for a faster and more convenient login.

Dica

Especifique sempre o nome de registo totalmente qualificado (todos os minúsculos) quando utilizar docker login e quando marca imagens para empurrar para o seu registo.Always specify the fully qualified registry name (all lowercase) when you use docker login and when you tag images for pushing to your registry. Nos exemplos deste artigo, o nome totalmente qualificado é myregistry.azurecr.io.In the examples in this article, the fully qualified name is myregistry.azurecr.io.

Puxe uma imagem pública de NginxPull a public Nginx image

Primeiro, puxe uma imagem pública do Nginx para o seu computador local.First, pull a public Nginx image to your local computer. Este exemplo retira uma imagem do Registo de Contentores da Microsoft.This example pulls an image from Microsoft Container Registry.

docker pull mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine

Executar o contentor localmenteRun the container locally

Execute o seguinte comando de execução do estivador para iniciar uma instância local do contentor Nginx interativamente -it () na porta 8080.Execute the following docker run command to start a local instance of the Nginx container interactively (-it) on port 8080. O --rm argumento especifica que o recipiente deve ser removido quando o parar.The --rm argument specifies that the container should be removed when you stop it.

docker run -it --rm -p 8080:80 mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine

Navegue para http://localhost:8080 ver a página web padrão servida por Nginx no recipiente de execução.Browse to http://localhost:8080 to view the default web page served by Nginx in the running container. Deve ver uma página semelhante à seguinte:You should see a page similar to the following:

Nginx no computador local

Como iniciou o contentor interativamente -it com, pode ver a saída do servidor Nginx na linha de comando depois de navegar para o mesmo no seu navegador.Because you started the container interactively with -it, you can see the Nginx server's output on the command line after navigating to it in your browser.

Para parar e retirar o recipiente, prima Control + C .To stop and remove the container, press Control+C.

Criar um pseudónimo da imagemCreate an alias of the image

Use etiqueta de estivador para criar um pseudónimo da imagem com o caminho totalmente qualificado para o seu registo.Use docker tag to create an alias of the image with the fully qualified path to your registry. Este exemplo especifica o espaço de nomes samples para evitar sobrepovoar a raiz do registo.This example specifies the samples namespace to avoid clutter in the root of the registry.

docker tag mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine myregistry.azurecr.io/samples/nginx

Para obter mais informações sobre a marcação com espaços de nome, consulte a secção de espaços de nomes repositórios das melhores práticas para o Registo de Contentores Azure.For more information about tagging with namespaces, see the Repository namespaces section of Best practices for Azure Container Registry.

Enviar a imagem para o registoPush the image to your registry

Agora que marcou a imagem com o caminho totalmente qualificado para o seu registo privado, pode empurrá-la para o registo com o estivador:Now that you've tagged the image with the fully qualified path to your private registry, you can push it to the registry with docker push:

docker push myregistry.azurecr.io/samples/nginx

Extrair a imagem do registoPull the image from your registry

Use o comando de puxar o estivador para retirar a imagem do seu registo:Use the docker pull command to pull the image from your registry:

docker pull myregistry.azurecr.io/samples/nginx

Iniciar o contentor de NginxStart the Nginx container

Use o comando de execução do estivador para executar a imagem que tirou do seu registo:Use the docker run command to run the image you've pulled from your registry:

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

Procure para http://localhost:8080 ver o recipiente de funcionamento.Browse to http://localhost:8080 to view the running container.

Para parar e retirar o recipiente, prima Control + C .To stop and remove the container, press Control+C.

Remova a imagem (opcional)Remove the image (optional)

Se já não precisar da imagem Nginx, pode eliminá-la localmente com o comando rmi do docker.If you no longer need the Nginx image, you can delete it locally with the docker rmi command.

docker rmi myregistry.azurecr.io/samples/nginx

Para remover imagens do seu registo de contentores Azure, pode utilizar o repositório de comando AzureCLI az acr .To remove images from your Azure container registry, you can use the Azure CLI command az acr repository delete. Por exemplo, o seguinte comando elimina o manifesto referenciado pela samples/nginx:latest etiqueta, quaisquer dados de camadas únicos e todas as outras tags que referenciam o manifesto.For example, the following command deletes the manifest referenced by the samples/nginx:latest tag, any unique layer data, and all other tags referencing the manifest.

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

Passos seguintesNext steps

Agora que sabe o básico, está pronto para começar a usar o seu registo!Now that you know the basics, you're ready to start using your registry! Por exemplo, desloque imagens de contentores do seu registo para:For example, deploy container images from your registry to:

Instale opcionalmente a extensão do Docker para o Código do Estúdio Visual e a extensão da Conta Azure para trabalhar com os registos dos seus contentores Azure.Optionally install the Docker Extension for Visual Studio Code and the Azure Account extension to work with your Azure container registries. Puxe e empurre as imagens para um registo de contentores Azure, ou execute tarefas ACR, tudo dentro do Código do Estúdio Visual.Pull and push images to an Azure container registry, or run ACR Tasks, all within Visual Studio Code.