Armazenar imagens de contêiner do Docker no Artifact Registry

O Artifact Registry fornece um único local para gerenciar pacotes privados e imagens de contêiner do Docker.

Neste guia de início rápido, você aprende a:

  • Criar um repositório Docker particular no Artifact Registry
  • Configurar a autenticação
  • Enviar uma imagem para o repositório
  • Extrair 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.

      Acessar o IAM
    2. Selecione o projeto.
    3. Clique em Conceder acesso.
    4. No campo Novos principais, digite seu identificador de usuário. Normalmente, é o identificador de um usuário em um pool de identidades de força de trabalho. Saiba mais em Representar usuários do pool de força de trabalho nas políticas do IAM ou entre em contato com seu administrador.

    5. Na lista Selecionar papel, escolha um.
    6. Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
    7. Clique em Salvar.

    Como configurar um shell local

    Para instalar a CLI gcloud e o Docker, siga estas etapas:

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

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

    3. O Docker requer acesso com privilégios para interagir com registros. No Linux ou no Windows, adicione o usuário utilizado para executar comandos do Docker no grupo de segurança do Docker. Esta etapa não é necessária no macOS porque o Docker Desktop é executado em uma máquina virtual como o usuário raiz.

      Linux

      O grupo de segurança do Docker é chamado de docker. Para adicionar seu nome de usuário, execute o seguinte comando:

      sudo usermod -a -G docker ${USER}
      

      Windows

      O grupo de segurança do Docker é chamado de docker-users. Para adicionar um usuário a partir do prompt de comando do administrador, execute o seguinte comando:

      net localgroup docker-users DOMAIN\USERNAME /add
      

      Em que

      • DOMAIN é seu domínio do Windows.
      • USERNAME é seu nome de usuário.
    4. Saia e acesse novamente para a mudança de filiação ao grupo fazer efeito. Se estiver usando uma máquina virtual, talvez seja necessário reiniciar a máquina virtual para a mudança fazer efeito;

    5. Para garantir que o Docker esteja ativo, execute o seguinte comando do Docker, que retorna a hora e a data atuais:

      docker run --rm busybox date
      

      A sinalização --rm exclui a instância do contêiner na saída.

    criar um repositório do Docker

    Crie um repositório do Docker para armazenar a imagem de amostra deste guia de início rápido.

    Console

    1. Abra a página Repositórios no console do Trusted Cloud .

      Abrir 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 o formato e Standard como o modo.

    5. Em Tipo de local, selecione Região e escolha o local 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 chamado quickstart-docker-repo no local 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
      

      em que PROJECT é o ID do projeto Trusted Cloud by S3NS .

    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.

    Configurar a autenticação

    Antes de enviar ou extrair imagens, configure o Docker para usar a Google Cloud CLI e autenticar solicitações ao Artifact Registry.

    Para configurar a autenticação em 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 é possível se conectar com o Artifact Registry no seu projeto Trusted Cloud para enviar e extrair imagens.

    Para mais informações sobre outros métodos de autenticação, consulte a página Métodos de autenticação.

    Acessar uma imagem para enviar

    Neste guia de início rápido, você enviará uma imagem de amostra chamada hello-app.

    Execute o comando a seguir 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 host das imagens de contêiner armazenadas nos repositórios do Docker do Artifact Registry, que inclui o local 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.

    adicionar a imagem ao repositório

    Antes de enviar a imagem do Docker ao Artifact Registry, marque-a com o nome do repositório.

    Marcar a imagem com um nome de registro

    Marcar a imagem do Docker com um nome de repositório irá configurar o comando docker push para enviar a imagem para um local específico. Para este guia de início rápido, o local do host é u-france-east1-docker.s3nsregistry.fr.

    Execute o seguinte comando para marcar 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

    Em que:

    • u-france-east1 é o local do repositório.
    • u-france-east1-docker.s3nsregistry.fr é o nome do host do repositório do Docker que você criou.
    • PROJECT é o Trusted Cloud by S3NS ID do projeto.
    • quickstart-docker-repo é o ID do repositório que você criou.
    • quickstart-image é o nome da imagem que você quer usar no repositório. O nome da imagem pode ser diferente do nome da imagem local. Neste guia de início rápido, você vai armazenar a imagem diretamente no ID do repositório quickstart-docker-repo.
    • tag1 é uma tag que você está adicionando à imagem do Docker. Se você não especificou uma tag, o Docker vai aplicar a tag padrão latest.

    Agora você está pronto para enviar a imagem ao repositório que criou.

    Envie a imagem para o Artifact Registry

    Depois de configurar a autenticação e marcar a imagem local, é possível enviá-la para o repositório que você criou.

    Basta executar o comando a seguir:

    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.

    extrair a imagem do Artifact Registry

    Para extrair a imagem do Artifact Registry para a máquina local, execute o comando a seguir:

    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 cobranças na sua conta do Trusted Cloud pelos recursos usados nesta página, siga estas etapas.

    Antes de remover o repositório, verifique se as imagens que você quer manter estão disponíveis em outro local.

    Para excluir o repositório:

    Console

    1. Abra a página Repositórios no console do Trusted Cloud .

      Abrir a página Repositórios

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

    3. Clique em Excluir.

    gcloud

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

    gcloud artifacts repositories delete quickstart-docker-repo --location=u-france-east1

    A seguir