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

Antes de começar

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

  3. Enable the Artifact Registry API.

    Enable the API

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

    Check for the roles

    1. In the Trusted 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 Trusted 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 identificador de um utilizador num conjunto de identidades da força de trabalho. Para ver detalhes, consulte Represente utilizadores do pool de força de trabalho em políticas de IAM ou contacte o seu administrador.

    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.

    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 Trusted 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 u-france-east1.

    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 u-france-east1 com a descrição "repositório do Docker".

      gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \
          --location=u-france-east1 --description="Docker repository" \
          --project=PROJECT
      

      Onde PROJECT é o ID do seu Trusted Cloud by S3NS 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 u-france-east1, execute o seguinte comando:

    gcloud auth configure-docker u-france-east1-docker.s3nsregistry.fr
    

    O comando atualiza a configuração do Docker. Agora, pode estabelecer ligação ao Artifact Registry no seu Trusted 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.s3nsregistry.fr/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.s3nsregistry.fr é 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 é u-france-east1-docker.s3nsregistry.fr.

    Execute o seguinte comando para etiquetar a imagem como quickstart-image:tag1:

    docker tag us-docker.s3nsregistry.fr/google-samples/containers/gke/hello-app:1.0 \
    u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-docker-repo/quickstart-image:tag1

    Onde:

    • u-france-east1 é a localização do repositório.
    • u-france-east1-docker.s3nsregistry.fr é o nome do anfitrião do repositório do Docker que criou.
    • PROJECT é o seu Trusted Cloud by S3NS ID do projeto.
    • 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 u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-docker-repo/quickstart-image:tag1
    Substitua PROJECT pelo seu Trusted Cloud by S3NS ID do projeto.

    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 u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-docker-repo/quickstart-image:tag1
    Substitua PROJECT pelo seu Trusted Cloud by S3NS ID do projeto.
    latest: Pulling from [PROJECT-ID]/quickstart-image:tag1
    Digest: sha256:70c42...
    Status: Image is up to date for u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-docker-repo/quickstart-image:tag1
    

    Limpar

    Para evitar incorrer em cobranças na sua Trusted 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 Trusted 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=u-france-east1

    O que se segue?