Armazene imagens de contentor Docker no Artifact Registry

O Artifact Registry oferece uma única localização para gerir pacotes privados e imagens de contentor 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:

Visita guiada


Antes de começar

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry API.

    Enable the API

  5. Make sure that you have the following role or roles on the project: Artifact Registry Administrator

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. 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.

    4. 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

    1. In the Google Cloud console, go to the IAM page.

      Aceder ao IAM
    2. Selecione o projeto.
    3. Clique em Conceder acesso.
    4. No campo Novos responsáveis, introduza o identificador do utilizador. Normalmente, este é o endereço de email de uma Conta Google.

    5. Na lista Selecionar uma função, selecione uma função.
    6. Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
    7. Clique em Guardar.
  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Verify that billing is enabled for your Google Cloud project.

  8. Enable the Artifact Registry API.

    Enable the API

  9. Make sure that you have the following role or roles on the project: Artifact Registry Administrator

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. 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.

    4. 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

    1. In the Google Cloud console, go to the IAM page.

      Aceder ao IAM
    2. Selecione o projeto.
    3. Clique em Conceder acesso.
    4. No campo Novos responsáveis, introduza o identificador do utilizador. Normalmente, este é o endereço de email de uma Conta Google.

    5. Na lista Selecionar uma função, selecione uma função.
    6. Para conceder funções adicionais, clique em Adicionar outra função e adicione cada função adicional.
    7. Clique em Guardar.
  10. Escolha uma shell

    Para concluir este início rápido, use o Cloud Shell ou a shell local.

    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 do Google Cloud, a principal interface de linhas de comando para o Google Cloud.
    Shell local
    Se preferir usar a shell local, tem de instalar o Docker e a CLI gcloud no seu ambiente.

    A iniciar o Cloud Shell

    Para iniciar o Cloud Shell, siga estes passos:

    1. Aceda à Google Cloud consola.

      Google Cloud consola

    2. Clique no botão Ativar Cloud Shell:  .

    É aberta uma sessão do Cloud Shell num frame na parte inferior da consola. Use esta shell para executar comandos gcloud.

    Configurar uma shell local

    Para instalar a CLI gcloud e o Docker, siga estes passos:

    1. Instale a CLI gcloud. Para atualizar uma instalação existente, execute o comando gcloud components update.

    2. Instale o Docker se ainda não estiver instalado.

    3. 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.
    4. 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.

    5. 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 date
      

      A flag --rm elimina a instância do contentor ao sair.

    Crie um repositório do Docker

    Crie um repositório Docker para armazenar a imagem de exemplo para este início rápido.

    Consola

    1. Abra a página Repositórios na Google Cloud consola.

      Abra a página Repositórios

    2. Clique em adicionar Criar repositório.

    3. Especifique quickstart-docker-repo como o nome do repositório.

    4. Escolha Docker como formato e Padrão como modo.

    5. Em Tipo de localização, selecione Região e, de seguida, escolha a localização us-west1.

    6. Clique em Criar.

    O repositório é adicionado à lista de repositórios.

    gcloud

    1. Execute o seguinte comando para criar um novo repositório do Docker denominado quickstart-docker-repo na localização us-west1 com a descrição "repositório do Docker".

      gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \
          --location=us-west1 --description="Docker repository" \
          --project=PROJECT
      

      Onde PROJECT é o ID do seu Google Cloud projeto.

    2. Execute o seguinte comando para verificar se o repositório foi criado.

      gcloud artifacts repositories list \
          --project=PROJECT
      

    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 de imagens no Artifact Registry incluem várias partes. Para esta imagem de amostra:

    • us-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ório containers.

    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:

    • 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ório quickstart-docker-repo.
    • tag1 é uma etiqueta que está a adicionar à imagem do Docker. Se não especificou uma etiqueta, o Docker aplica a etiqueta predefinida latest.

    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
    Substitua PROJECT pelo seu Google Cloud ID do projeto. Se o ID do projeto contiver dois pontos (:), 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
    Substitua PROJECT pelo seu Google Cloud ID do projeto. Se o ID do projeto contiver dois pontos (:), 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

    1. Abra a página Repositórios na Google Cloud consola.

      Abra a página Repositórios

    2. Na lista de repositórios, selecione o repositório quickstart-docker-repo.

    3. Clique em Eliminar.

    gcloud

    Para eliminar o repositório quickstart-docker-repo, execute o seguinte comando:

    gcloud artifacts repositories delete quickstart-docker-repo --location=us-west1

    O que se segue?