Partilhar via


Guia de início rápido: criar um registro de contêiner privado usando o Azure PowerShell

O Registro de Contêiner do Azure é um serviço de registro privado para criar, armazenar e gerenciar imagens de contêiner e artefatos relacionados. Neste início rápido, você criará uma instância do Registro de Contêiner do Azure usando o Azure PowerShell localmente. Em seguida, usando a CLI do Docker, você puxará uma imagem de contêiner hello-world, marcará a imagem de contêiner hello-world para criar uma nova imagem de contêiner, enviará a nova imagem de contêiner para o registro de contêiner, excluirá a imagem de contêiner local e, finalmente, puxará e executará a imagem do seu registro.

Pré-requisitos

Nota

Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

Este guia de início rápido requer o módulo do Azure PowerShell. Execute Get-Module -ListAvailable Az para determinar a versão instalada. Se precisar de instalar ou atualizar, veja Install Azure PowerShell module(Instalar o módulo do Azure PowerShell).

Também tem de ter o Docker instalado localmente. O Docker fornece pacotes para os sistemas macOS, Windows e Linux.

Uma vez que o Azure Cloud Shell não inclui todos os componentes do Docker necessários (o daemon dockerd), não é possível utilizar o Cloud Shell para este guia de início rápido.

Iniciar sessão no Azure

Entre na sua assinatura do Azure com o comando Connect-AzAccount e siga as instruções na tela.

Connect-AzAccount

Criar grupo de recursos

Depois de autenticado com o Azure, crie um grupo de recursos com New-AzResourceGroup. Um grupo de recursos é um contentor lógico no qual os recursos do Azure são implementados e geridos.

New-AzResourceGroup -Name myResourceGroup -Location EastUS

Criar registo de contentor

Em seguida, crie um registro de contêiner em seu novo grupo de recursos com o comando New-AzContainerRegistry .

O nome do registo tem de ser exclusivo no Azure e pode incluir entre 5 a 50 carateres alfanuméricos. O exemplo a seguir cria um registro chamado "mycontainerregistry". Substitua mycontainerregistry no seguinte comando e execute-o para criar o registro:

$registry = New-AzContainerRegistry -ResourceGroupName "myResourceGroup" -Name "mycontainerregistry" -EnableAdminUser -Sku Standard -Location EastUS

Gorjeta

Neste início rápido, você cria um Registro Padrão , que é suficiente para a maioria dos fluxos de trabalho do Registro de Contêiner do Azure. Para maior armazenamento e rendimento de imagem, e capacidades como ligação através de um endpoint privado, está disponível a opção do plano de preços Premium (SKU). Para detalhes sobre os níveis de serviço (SKUs), consulte as funcionalidades e limites dos SKUs do Azure Container Register.

Iniciar sessão no registo

Antes de enviar e extrair imagens de contêiner, você deve efetuar login no Registro com o cmdlet Connect-AzContainerRegistry . O exemplo a seguir usa as mesmas credenciais com as quais você fez logon ao autenticar no Azure com o Connect-AzAccount cmdlet.

Nota

No exemplo a seguir, o valor de é o nome do recurso, não o nome do $registry.Name Registro totalmente qualificado.

Connect-AzContainerRegistry -Name $registry.Name

O comando devolve Login Succeeded depois de estar concluído.

Enviar imagem para o registo

Para enviar uma imagem para um registo do Azure Container, primeiro tem de ter uma imagem. Se você ainda não tiver nenhuma imagem de contêiner local, execute o seguinte comando docker pull para extrair uma imagem pública existente. Para este exemplo, extraia a hello-world imagem do Microsoft Container Registry.

docker pull mcr.microsoft.com/hello-world

Antes de poder enviar uma imagem para o seu registo, deve marcá-la usando a etiqueta docker com o nome totalmente qualificado do seu servidor de login do registo.

  • O formato do nome do servidor de login para registros protegidos pela Etiqueta de Nome de Domínio (DNL) com um hash único do nome DNS incluído é mycontainerregistry-abc123.azurecr.io.
  • O formato de nome do servidor de login para registros criados com a Unsecure opção DNL é mycontainerregistry.azurecr.io.

Por exemplo, se criares um registo com o Tenant Reuse âmbito DNL, o servidor de login pode parecer-se com mycontainerregistry-abc123.azurecr.io com um hash no nome DNS. Se criares um registo com a Unsecure opção DNL, o servidor de login parece mycontainerregistry.azurecr.io, sem o hash.

Etiqueta a imagem usando o comando docker tag com o servidor de login do registo. Para este quickstart, marque a hello-world imagem com v1.

Comando de exemplo para marcar uma imagem para um registo protegido por DNL:

docker tag mcr.microsoft.com/hello-world mycontainerregistry-abc123.azurecr.io/hello-world:v1

Comando de exemplo para etiquetar uma imagem para um registo que não seja DNL:

docker tag mcr.microsoft.com/hello-world mycontainerregistry.azurecr.io/hello-world:v1

Por fim, use o docker push para enviar a imagem para a instância do Registro. Substitua <login-server> pelo nome do servidor de login da sua instância do Registro. Este exemplo cria o repositório hello-world , contendo a hello-world:v1 imagem.

docker push <login-server>/hello-world:v1

Depois de enviar a imagem para o registo do teu contentor, remove a hello-world:v1 imagem do ambiente Docker local usando o comando docker rmi . Este comando não remove a imagem do repositório hello-world no teu registo de contentores do Azure.

docker rmi <login-server>/hello-world:v1

Executar imagem do registo

Agora, você pode extrair e executar a imagem do contêiner do seu registro de contêiner usando o hello-world:v1 docker run:

docker run <login-server>/hello-world:v1  

Saída de exemplo:

Unable to find image 'mycontainerregistry.azurecr.io/hello-world:v1' locally
v1: Pulling from hello-world
Digest: sha256:662dd8e65ef7ccf13f417962c2f77567d3b132f12c95909de6c85ac3c326a345
Status: Downloaded newer image for mycontainerregistry.azurecr.io/hello-world:v1

Hello from Docker!
This message shows that your installation appears to be working correctly.

[...]

Clean up resources (Limpar recursos)

Quando terminar de trabalhar com os recursos criados neste início rápido, use o comando Remove-AzResourceGroup para remover o grupo de recursos, o registro de contêiner e as imagens de contêiner armazenadas lá:

Remove-AzResourceGroup -Name myResourceGroup

Próximos passos

Neste início rápido, você criou uma instância do Registro de Contêiner do Azure usando o Azure PowerShell localmente, puxou uma imagem de contêiner hello-world, marcou a imagem hello-world para criar uma nova imagem de contêiner, empurrou a nova imagem de contêiner para o registro de contêiner, excluiu a imagem de contêiner local e, finalmente, puxou e executou a imagem do seu registro. Continue para os tutoriais do Registro de Contêiner do Azure para obter uma visão mais profunda do ACR.