Nombres de repositorios y de imágenes

Artifact Registry usa una convención de asignación de nombres para identificar los repositorios y las imágenes cuando usas los comandos de gcloud, docker y la API para interactuar con los repositorios.

Repositorios de Docker

El nombre completo de un repositorio de Docker está en el siguiente formato:

LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY

Donde:

Por ejemplo, considera una imagen con las siguientes características:

  • Ubicación del repositorio: us-west1
  • Formato del repositorio: docker
  • Nombre del repositorio: my-repo
  • ID del proyecto: my-project

El repositorio se especifica de la siguiente manera:

us-west1-docker.pkg.dev/my-project/my-repo

Nombres de imágenes de contenedores

El nombre completo de una imagen de contenedor tiene uno de los siguientes formatos:

LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE

o

LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE:TAG

o

LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE@IMAGE-DIGEST

Donde:

  • LOCATION es el regional o multirregional location del repositorio.
  • PROJECT es tu consola de Google Cloud ID del proyecto: Si el ID de tu proyecto contiene dos puntos (`:`), consulta Proyectos con alcance de dominio.
  • REPOSITORY es el nombre del repositorio en el que se almacena la imagen.
  • IMAGE es el nombre de la imagen en el repositorio.
  • TAG es la etiqueta de la versión de la imagen que deseas extraer.
  • IMAGE-DIGEST es el valor de hash sha256 del contenido de la imagen. En la consola de Google Cloud, haz clic en la imagen específica para ver sus metadatos. El resumen se muestra como el resumen de la imagen.

    Si no especificas una etiqueta o un resumen, Artifact Registry busca la imagen con la etiqueta predeterminada latest. Consulta Versiones de la imagen de contenedor para obtener información sobre las versiones.

Por ejemplo, considera una imagen con las siguientes características:

  • Ubicación del repositorio: us-west1
  • Nombre del repositorio: my-repo
  • ID del proyecto: my-project
  • Nombre de la imagen: test
  • Etiqueta: staging

Esta versión de la imagen etiquetada como etapa de pruebas se especifica de la siguiente manera:

us-west1-docker.pkg.dev/my-project/my-repo/test:staging

Versiones de la imagen de contenedor

Un repositorio puede contener muchas imágenes de contenedor, las cuales pueden tener diferentes versiones. Para identificar una versión específica de una imagen, puede especificar el resumen de la imagen o la etiqueta.

Resumen
Un resumen de imágenes es un hash generado automáticamente del índice de la imagen o imagen . Cada resumen de imagen es un identificador único para una versión de la imagen y no se puede cambiar. El resumen es el valor de hash sha256 del contenido de la imagen.
Etiqueta

Una etiqueta de imagen es una etiqueta y, a menudo, es una cadena legible por humanos, como v1.1 o development. Una etiqueta solo puede apuntar a una versión de una imagen. En Artifact Registry, puedes configurar un repositorio de Docker para permitir que etiquetas de imagen o aplicar etiquetas de imagen inmutables.

  • Mutable: Una etiqueta apunta a una sola versión de la imagen, pero la que las referencias pueden cambiar.

    Un enfoque común consiste en etiquetar imágenes con un identificador de versión, como v1.1 al momento de la compilación. Cuando la compilación envía varias versiones de la imagen al registro con la misma etiqueta v1.1, la etiqueta hace referencia al resumen de la última versión que se envió al registro. Aunque las etiquetas de imagen mutables conveniente de etiquetar versiones, también pueden ser manipuladas asociar una etiqueta a una versión maliciosa de una imagen.

  • Inmutable: En el repositorio, una etiqueta siempre apunta a la misma imagen. resumen. Si se configura un repositorio de Artifact Registry para servicios inmutables etiquetas de imagen, no se permiten las siguientes acciones:

    • Borra una imagen etiquetada. Aún se permite borrar imágenes sin etiquetar.
    • Quita una etiqueta de una imagen.
    • Enviar una imagen con una etiqueta que ya se usa en otra versión de la imagen en el repositorio.

Por ejemplo, considera una imagen con las siguientes características:

  • Ubicación del repositorio: us-west1
  • Nombre del repositorio: my-repo
  • ID del proyecto: my-project
  • Nombre de la imagen: test
  • Etiqueta: staging
  • Resumen: sha256:4d11e24ba8a615cc85a535daa17b47d3c0219f7eeb2b8208896704ad7f88ae2d

Para identificar la imagen con la etiqueta, agrega :staging al nombre de la imagen:

us-west1-docker.pkg.dev/my-project/my-repo/test:staging

Para identificarla con el resumen, agrega @ al nombre de la imagen, seguido del resumen:

us-west1-docker.pkg.dev/my-project/my-repo/test@sha256:4d11e24ba8a615cc85a535daa17b47d3c0219f7eeb2b8208896704ad7f88ae2d

Si el ID de tu proyecto contiene dos puntos (`:`), consulta Proyectos con alcance de dominio.

En la consola, en la columna Etiquetas de la pantalla Imágenes, se muestra una lista de las etiquetas de la imagen. Haz clic en la versión de la imagen para ver los metadatos, incluidos los Resumen de la imagen.

Consulta Etiqueta imágenes para obtener más información sobre el etiquetado.

Proyectos con alcance de dominio

Si tu proyecto tiene permisos para tu dominio, el ID del proyecto incluye el nombre del dominio seguido de dos puntos (:). Debido a la forma en que Docker trata los dos puntos, debes reemplazar el carácter de dos puntos por una barra diagonal cuando especifiques el resumen de una imagen en Artifact Registry. Identifica las imágenes en estos tipos de proyectos con el siguiente formato:

LOCATION-docker.pkg.dev/DOMAIN/PROJECT-ID/REPOSITORY/IMAGE@IMAGE-DIGEST

Por ejemplo, el proyecto con ID example.com:my-project podría tener la siguiente imagen:

us-west1-docker.pkg.dev/example.com/my-project/my-repo/image-name

Nombres de repositorios como URLs

Para acceder a un repositorio o artefacto de un repositorio en la consola de Google Cloud, antepone https:// a su nombre completo.

Por ejemplo, para ver el repositorio us-west1-maven.pkg.dev/my-project/my-repo, usa la siguiente URL:

https://us-west1-maven.pkg.dev/my-project/my-repo

Para ver la imagen us-west1-docker.pkg.dev/example.com/my-project/my-repo/my-image, usa la siguiente URL:

https://us-west1-docker.pkg.dev/example.com/my-project/my-repo/my-image

Cualquier usuario autenticado que tenga permiso para acceder al repositorio puede usar estos vínculos.