Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Registro de Contêiner do Azure é um serviço de registro privado para gerar, armazenar e fornecer 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ê baixará uma imagem de contêiner hello-world, atribuirá uma tag à 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, por fim, baixará e executará a imagem do seu registro.
Pré-requisitos
Observação
Recomendamos que você use o módulo Azure Az PowerShell para interagir com o Azure. Para começar, consulte Instalar o Microsoft Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, veja Migrar o Microsoft Azure PowerShell do AzureRM para o Az.
Este início rápido requer o módulo Azure PowerShell. Execute Get-Module -ListAvailable Az para determinar a versão instalada. Se você precisar instalá-lo ou atualizá-lo, confira Instalar o módulo do Azure PowerShell.
Você também deve ter o Docker instalado localmente. O docker fornece pacotes para sistemas macOS, Windows e Linux.
Como o Azure Cloud Shell não inclui todos os componentes de Docker necessários (o daemon dockerd), você não pode usar o Cloud Shell para este guia de início rápido.
Entrar no Azure
Entre em sua assinatura do Azure com o comando Connect-AzAccount e siga as instruções na tela.
Connect-AzAccount
Criar grupo de recursos
Depois que você estiver autenticado com o Azure, crie um grupo de recursos com New-AzResourceGroup. Um grupo de recursos é um contêiner lógico no qual você implanta e gerenciar os recursos do Azure.
New-AzResourceGroup -Name myResourceGroup -Location EastUS
Criar um registro de contêiner
Em seguida, crie um registro de contêiner em seu novo grupo de recursos com o comando New-AzContainerRegistry.
O nome do registro deve ser exclusivo no Azure e conter de 5 a 50 caracteres 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
Dica
Neste início rápido, você cria um Registro Standard , o que é suficiente para a maioria dos fluxos de trabalho do Registro de Contêiner do Azure. Para aumentar a taxa de transferência de armazenamento e de imagem, e com recursos como conexão usando um ponto de extremidade privado, a opção de plano de preços Premium (SKU) está disponível. Para obter detalhes sobre SKUs (camadas de serviço), consulte os recursos e os limites de SKU do Registro de Contêiner do Azure.
Fazer logon no registro
Antes de efetuar push e pull de imagens de contêiner, você precisa fazer logon no seu registro com o cmdlet Connect-AzContainerRegistry. O exemplo a seguir usa as mesmas credenciais com as quais você fez logon ao se autenticar no Azure com o cmdlet Connect-AzAccount.
Observação
No exemplo a seguir, o valor de $registry.Name é o nome do recurso, não o nome totalmente qualificado do registro.
Connect-AzContainerRegistry -Name $registry.Name
O comando retorna Login Succeeded na conclusão.
Efetuar push de imagem para registro
Para enviar por push uma imagem para um Registro de Contêiner do Azure, primeiro você deve ter uma imagem. Se você ainda não tiver imagens de contêiner locais, execute o comando docker pull a seguir para efetuar pull de uma imagem pública existente. Para este exemplo, efetue pull da imagem hello-world do Registro de Contêiner da Microsoft.
docker pull mcr.microsoft.com/hello-world
Para efetuar push de uma imagem para o registro, você precisa marcá-la usando a marca docker com o nome totalmente qualificado de seu servidor de logon do registro.
- O formato de nome do servidor de logon para registros protegidos de Rótulo de Nome de Domínio (DNL) com um hash de nome DNS exclusivo incluído é
mycontainerregistry-abc123.azurecr.io. - O formato de nome do servidor de logon para registros criados com a opção
UnsecureDNL émycontainerregistry.azurecr.io.
Por exemplo, se você criar um registro com o escopo DNL Tenant Reuse, o servidor de logon pode ser semelhante a mycontainerregistry-abc123.azurecr.io com um hash no nome de DNS. Se você criar um registro com a opção Unsecure DNL, o servidor de logon será semelhante mycontainerregistry.azurecr.io, sem o hash.
Marque a imagem usando o comando docker tag com o servidor de login do registro. Para este início rápido, marque a imagem de hello-world com v1.
Comando de exemplo para marcar uma imagem para um registro protegido por DNL:
docker tag mcr.microsoft.com/hello-world mycontainerregistry-abc123.azurecr.io/hello-world:v1
Comando de exemplo para marcar uma imagem para um registro não DNL:
docker tag mcr.microsoft.com/hello-world mycontainerregistry.azurecr.io/hello-world:v1
Por fim, use docker push para efetuar push da imagem para a instância do registro. Substitua o <login-server> pelo nome do servidor de logon de sua instância do registro. Este exemplo cria o repositório Olá, mundo, que contém a imagem hello-world:v1.
docker push <login-server>/hello-world:v1
Depois de enviar a imagem por push para o registro de contêiner, remova a hello-world:v1 imagem do ambiente local do Docker usando o comando docker rmi . Esse comando não remove a imagem do repositório hello-world no registro de contêiner do Azure.
docker rmi <login-server>/hello-world:v1
Executar a imagem do registro
Agora, você pode efetuar pull e executar a imagem do contêiner hello-world:v1 do seu registro de contêiner usando 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.
[...]
Limpar os recursos
Quando terminar de trabalhar com os recursos criados neste guia de 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óximas etapas
Neste início rápido, você criou uma instância do Registro de Contêiner do Azure usando o Azure PowerShell localmente, efetuou pull de uma imagem de contêiner hello-world, marcou a imagem hello-world para criar uma nova imagem de contêiner, efetuou push da nova imagem de contêiner para o registro de contêiner, excluiu a imagem do contêiner local e, por fim, efetuou pull e executou a imagem do registro. Prossiga para os tutoriais do Registro de Contêiner do Azure para uma análise mais aprofundada do ACR.