Armazene imagens de contentor Docker no Artifact Registry
O Artifact Registry oferece uma única localização para gerir pacotes privados e imagens de contentores Docker.
Este início rápido mostra como:
- Crie um repositório Docker privado no Artifact Registry
 - Configure a autenticação
 - Envie uma imagem para o repositório
 - Extraia a imagem do repositório
 
Para seguir orientações passo a passo para esta tarefa diretamente na Google Cloud consola, clique em Orientar-me:
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
 - 
    
    
      
        
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
 - 
      Create a project: To create a project, you need the Project Creator
      (
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles. 
 - 
  
    
Verify that billing is enabled for your Google Cloud project.
 - 
  
  
    
      
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. - 
    
        
Make sure that you have the following role or roles on the project: Artifact Registry Administrator
Check for the roles
- 
              
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
 - 
              
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
 - For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
 
Grant the roles
- 
              
In the Google Cloud console, go to the IAM page.
Aceder ao IAM - Selecione o projeto.
 - Clique em Conceder acesso.
 - 
              
No campo Novos responsáveis, introduza o identificador do utilizador. Normalmente, este é o endereço de email de uma Conta Google.
 - Na lista Selecionar uma função, selecione uma função.
 - Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
 - Clique em Guardar.
 
 - 
              
 - 
    
    
      
        
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
 - 
      Create a project: To create a project, you need the Project Creator
      (
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles. 
 - 
  
    
Verify that billing is enabled for your Google Cloud project.
 - 
  
  
    
      
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. - 
    
        
Make sure that you have the following role or roles on the project: Artifact Registry Administrator
Check for the roles
- 
              
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
 - 
              
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
 - For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
 
Grant the roles
- 
              
In the Google Cloud console, go to the IAM page.
Aceder ao IAM - Selecione o projeto.
 - Clique em Conceder acesso.
 - 
              
No campo Novos responsáveis, introduza o identificador do utilizador. Normalmente, este é o endereço de email de uma Conta Google.
 - Na lista Selecionar uma função, selecione uma função.
 - Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
 - Clique em Guardar.
 
 - 
              
 - Cloud Shell O
 - Cloud Shell é um ambiente de shell para gerir recursos alojados no Google Cloud. É fornecido pré-instalado com o Docker e a CLI gcloud, a interface de linhas de comando principal para o Google Cloud.
 - Shell local
 - Se preferir usar a shell local, tem de instalar o Docker e a CLI gcloud no seu ambiente.
 Aceda à Google Cloud consola.
Clique no botão Ativar Cloud Shell:
.Instale a CLI gcloud. Para atualizar uma instalação existente, execute o comando
gcloud components update.Instale o Docker se ainda não estiver instalado.
O Docker requer acesso privilegiado para interagir com registos. No Linux ou Windows, adicione o utilizador que usa para executar comandos do Docker ao grupo de segurança do Docker. Este passo não é necessário no macOS, uma vez que o Docker Desktop é executado numa máquina virtual como utilizador root.
Linux
O grupo de segurança do Docker chama-se
docker. Para adicionar o seu nome de utilizador, execute o seguinte comando:sudo usermod -a -G docker ${USER}Windows
O grupo de segurança do Docker chama-se
docker-users. Para adicionar um utilizador a partir da linha de comandos do administrador, execute o seguinte comando:net localgroup docker-users DOMAIN\USERNAME /add
Onde
- DOMAIN é o seu domínio do Windows.
 - USERNAME é o seu nome de utilizador.
 
Termine sessão e inicie-a novamente para que as alterações de subscrição do grupo entrem em vigor. Se estiver a usar uma máquina virtual, pode ter de a reiniciar para que as alterações à subscrição sejam aplicadas.
Para garantir que o Docker está em execução, execute o seguinte comando do Docker, que devolve a data e a hora atuais:
docker run --rm busybox dateA flag
--rmelimina a instância do contentor ao sair.Abra a página Repositórios na Google Cloud consola.
Clique em adicionar Criar repositório.
Especifique
quickstart-docker-repocomo o nome do repositório.Escolha Docker como formato e Padrão como modo.
Em Tipo de localização, selecione Região e, de seguida, escolha a localização
us-west1.Clique em Criar.
Execute o seguinte comando para criar um novo repositório do Docker denominado
quickstart-docker-repona localizaçãous-west1com a descrição "repositório do Docker".gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \ --location=us-west1 --description="Docker repository" \ --project=PROJECTOnde PROJECT é o ID do seu Google Cloud projeto.
Execute o seguinte comando para verificar se o repositório foi criado.
gcloud artifacts repositories list \ --project=PROJECTus-docker.pkg.devé o nome do anfitrião das imagens de contentores armazenadas nos repositórios Docker do Artifact Registry, que inclui a localização do repositório (us).google-samplesé o ID do projeto.containersé o ID do repositório./gke/hello-appé o caminho para a imagem no repositóriocontainers.us-west1é a localização do repositório.us-west1-docker.pkg.devé o nome do anfitrião do repositório do Docker que criou.- PROJECT é o seu Google Cloud ID do projeto.
  Se o ID do projeto contiver dois pontos (
:), consulte o artigo Projetos com âmbito de domínio. quickstart-docker-repoé o ID do repositório que criou.quickstart-imageé o nome da imagem que quer usar no repositório. O nome da imagem pode ser diferente do nome da imagem local. Para este início rápido, vai armazenar a imagem diretamente no ID do repositórioquickstart-docker-repo.tag1é uma etiqueta que está a adicionar à imagem do Docker. Se não especificou uma etiqueta, o Docker aplica a etiqueta predefinidalatest.Abra a página Repositórios na Google Cloud consola.
Na lista de repositórios, selecione o repositório
quickstart-docker-repo.Clique em Eliminar.
- Saiba mais sobre como trabalhar com imagens de contentores.
 - Saiba mais sobre o Docker.
 - Leia os nossos recursos sobre DevOps e explore o programa de investigação DevOps Research and Assessment (DORA).
 
Escolha uma capa
Para concluir este início rápido, use o Cloud Shell ou a shell local.
Iniciar o Cloud Shell
Para iniciar o Cloud Shell, siga estes passos:
É aberta uma sessão do Cloud Shell num frame na parte inferior da consola.
Use esta shell para executar comandos gcloud.
Configurar um shell local
Para instalar a CLI gcloud e o Docker, siga estes passos:
Crie um repositório do Docker
Crie um repositório Docker para armazenar a imagem de exemplo para este início rápido.
Consola
O repositório é adicionado à lista de repositórios.
gcloud
Para mais informações sobre os comandos do Artifact Registry, execute o comando gcloud artifacts.
Configure a autenticação
Antes de poder enviar ou extrair imagens, configure o Docker para usar a CLI Google Cloud para autenticar pedidos para o Artifact Registry.
Para configurar a autenticação nos repositórios do Docker na região us-west1,
execute o seguinte comando:
gcloud auth configure-docker us-west1-docker.pkg.dev
O comando atualiza a configuração do Docker. Agora, pode estabelecer ligação ao Artifact Registry no seu Google Cloud projeto para enviar e extrair imagens.
Para informações sobre outros métodos de autenticação, consulte o artigo Métodos de autenticação.
Obtenha uma imagem para enviar
Para este início rápido, vai enviar uma imagem de exemplo denominada
hello-app.
Execute o seguinte comando para extrair a versão 1.0 da imagem.
   docker pull us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
Os caminhos das imagens no Artifact Registry incluem várias partes. Para esta imagem de exemplo:
Adicione a imagem ao repositório
Antes de enviar a imagem do Docker para o Artifact Registry, tem de a etiquetar com o nome do repositório.
Etiquete a imagem com um nome de registo
Etiquetar a imagem do Docker com um nome do repositório configura o comando docker push para enviar a imagem para uma localização específica. Para este início rápido, a localização do anfitrião é us-west1-docker.pkg.dev.
Execute o seguinte comando para etiquetar a imagem como
quickstart-image:tag1:
docker tag us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 \ us-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Onde:
Já pode enviar a imagem para o repositório que criou.
Envie a imagem para o Artifact Registry
Depois de configurar a autenticação e etiquetar a imagem local, pode enviar a imagem para o repositório que criou.
Para enviar a imagem do Docker, execute o seguinte comando:
docker push us-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
:), consulte o artigo Projetos com âmbito de domínio.
Extraia a imagem do Artifact Registry
Para extrair a imagem do Artifact Registry para a sua máquina local, execute o seguinte comando:
docker pull us-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
:), consulte o artigo Projetos com âmbito de domínio.
latest: Pulling from [PROJECT-ID]/quickstart-image:tag1 Digest: sha256:70c42... Status: Image is up to date for us-west1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Limpar
Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.
Antes de remover o repositório, certifique-se de que as imagens que quer manter estão disponíveis noutra localização.
Para eliminar o repositório:
Consola
gcloud
Para eliminar o repositório quickstart-docker-repo, execute o seguinte comando:
gcloud artifacts repositories delete quickstart-docker-repo --location=us-west1