Enviar una imagen

Envía imágenes a Harbor para mejorar la seguridad con el control de acceso basado en roles, el análisis automatizado de vulnerabilidades y la gestión simplificada de imágenes para tus aplicaciones en contenedores. Para enviar una imagen local a una instancia de Harbor, etiquétala con el nombre del repositorio y, a continuación, envíala.

Antes de empezar

Para enviar una imagen, debes configurar tu entorno con los recursos y permisos necesarios, incluido un proyecto de Harbor. Para obtener más información, consulta el artículo Crear proyectos de Harbor.

Roles de gestión de identidades y accesos obligatorios

Para enviar imágenes a instancias de registro de Harbor, ponte en contacto con el administrador de gestión de identidades y accesos del proyecto para solicitar el siguiente rol:

  • Visor de instancias de Harbor (harbor-instance-viewer): permite obtener, enumerar y ver instancias de Harbor en el espacio de nombres del proyecto. Este rol incluye los permisos necesarios para ver los detalles de las instancias de Harbor, de modo que puedas recuperar las URLs de registro necesarias para enviar imágenes.

Roles de control de acceso basado en roles de Harbor obligatorios

A diferencia de los roles de gestión de identidades y accesos de GDC, para enviar imágenes se necesitan permisos específicos dentro del sistema de control de acceso basado en roles (RBAC) interno de Harbor. Solicita los permisos necesarios a tu administrador. Aplica el principio de mínimos accesos solicitando solo los roles necesarios para tus tareas específicas.

Etiquetar la imagen local

Sigue estos pasos para etiquetar una imagen local con el nombre del repositorio:

  1. Debes autenticarte en la instancia de Harbor. Para obtener más información, consulta el artículo Configurar la autenticación de Docker en instancias de registro de Harbor.
  2. Define el nombre de la imagen. El formato de un nombre de imagen completo es el siguiente:

    INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE
    

    Haz los cambios siguientes:

    • INSTANCE_URL: la URL de la instancia de Harbor. Por ejemplo, harbor-1.org-1.zone1.google.gdc.test. Obtén la URL de la instancia de Harbor mediante la consola de GDC o la CLI de gdcloud.
    • HARBOR_PROJECT_NAME: el nombre del proyecto de Harbor. Por ejemplo, my-project.
    • IMAGE_NAME: el nombre de la imagen. Por ejemplo, nginx.

    Un ejemplo de nombre de imagen completo podría ser el siguiente:

    harbor-1.org-1.zone1.google.gdc.test/my-project/nginx
    
  3. Etiqueta la imagen local con el nombre del repositorio:

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

Haz los cambios siguientes:

  • SOURCE-IMAGE: el nombre de la imagen local o el ID de la imagen. Por ejemplo, nginx.
  • TAG: el nombre de la etiqueta. Por ejemplo, staging. Si no especificas una etiqueta, Docker aplica la etiqueta más reciente de forma predeterminada.

Enviar la imagen etiquetada a una instancia de registro de Harbor

Una vez que la imagen esté etiquetada, envíala a la instancia de registro de Harbor:

  1. Asegúrate de que te hayas autenticado en la instancia de Harbor.
  2. Envía la imagen etiquetada con el siguiente comando:
docker push
INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG

Cuando envías una imagen, se almacena en la instancia y el proyecto de Harbor especificados.

Después de enviar la imagen, ve a la interfaz de usuario de la instancia de Harbor para verla.

Siguientes pasos

Después de enviar la imagen al registro de Harbor, puedes extraerla a tu entorno local para verificarla. También puedes configurar reglas de conservación de etiquetas para mantener automáticamente tus repositorios y revisar los resultados de los análisis de seguridad para detectar vulnerabilidades: