Enviar uma imagem

Envie imagens para o Harbor e aumente a segurança com controle de acesso baseado em função, verificação automatizada de vulnerabilidades e gerenciamento simplificado de imagens para seus aplicativos contêinerizados. Para enviar uma imagem local a uma instância do Harbor, marque-a com o nome do repositório e envie a imagem.

Antes de começar

Para enviar uma imagem, configure seu ambiente com os recursos e permissões necessários, incluindo um projeto do Harbor. Para mais informações, consulte Criar projetos do Harbor.

Papéis necessários do IAM

Para enviar imagens às instâncias do registro do Harbor, entre em contato com o administrador do IAM do projeto e peça a seguinte função:

  • Leitor de instâncias do Harbor (harbor-instance-viewer): recebe, lista e monitora instâncias do Harbor no namespace do projeto. Essa função inclui as permissões necessárias para visualizar os detalhes das instâncias do Harbor atuais e recuperar os URLs do registro necessários para enviar imagens.

Papéis do RBAC do Harbor obrigatórios

Ao contrário dos papéis do IAM do GDC, o envio de imagens requer permissões específicas no sistema interno de controle de acesso baseado em papéis (RBAC) do Harbor. Peça as permissões necessárias ao seu administrador. Imponha o acesso com privilégio mínimo solicitando apenas as funções necessárias para suas tarefas específicas.

Marcar a imagem local

Siga estas etapas para marcar uma imagem local com o nome do repositório:

  1. Você precisa estar autenticado na instância do Harbor. Para mais informações, consulte Configurar a autenticação do Docker para instâncias do registro do Harbor.
  2. Defina o nome da imagem. O formato do nome completo de uma imagem é:

    INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE
    

    Substitua:

    • INSTANCE_URL: o URL da instância do Harbor. Por exemplo, harbor-1.org-1.zone1.google.gdc.test. Receba o URL da instância do Harbor usando o console do GDC ou a CLI gdcloud.
    • HARBOR_PROJECT_NAME: o nome do projeto do Harbor. Por exemplo, my-project.
    • IMAGE_NAME: o nome da imagem. Por exemplo, nginx.

    Um exemplo de nome completo da imagem pode ser assim:

    harbor-1.org-1.zone1.google.gdc.test/my-project/nginx
    
  3. Marque a imagem local com o nome do repositório:

    docker tag SOURCE-IMAGE
    INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG
    
    

Substitua:

  • SOURCE-IMAGE: o nome ou ID da imagem local. Por exemplo, nginx.
  • TAG: o nome da tag. Por exemplo, staging. Se você não especificar uma tag, o Docker vai aplicar a mais recente por padrão.

Envie a imagem marcada para uma instância do registro do Harbor

Depois que a imagem for marcada, envie-a para a instância do registro do Harbor:

  1. Verifique se você está autenticado na instância do Harbor.
  2. Envie a imagem marcada com o comando:
docker push
INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG

Quando você envia uma imagem, ela é armazenada na instância e no projeto do Harbor especificados.

Depois de enviar a imagem, acesse a interface da instância do Harbor para conferir a imagem.