Administra imágenes

La administración de imágenes incluye enumerarlas en un repositorio, agregar etiquetas, borrar etiquetas, copiar imágenes en un repositorio nuevo y borrar imágenes.

Para obtener más información sobre cómo enviar una imagen local a Container Registry o extraer una imagen almacenada en Container Registry, consulta Envía y extrae imágenes.

Antes de comenzar

Asegúrate de que se cumpla lo siguiente:

  1. Habilitaste Container Registry en tu proyecto.

  2. Docker está instalado.

  3. Configuraste Docker para autenticarte en el registro.

  4. Tienes permisos para acceder al registro.

Muestra una lista de las imágenes por ubicación de almacenamiento

Puedes enumerar las imágenes en ubicaciones de host específicas con el consola de Google Cloud o la línea de comandos.

Console

Para mostrar una lista de las imágenes que se encuentran en una de tus ubicaciones del host, sigue estos pasos:

  1. Ir a la página de Container Registry

    Abrir la página de Container Registry

  2. Usa el selector que se encuentra sobre Nombre para elegir la ubicación del host. Las opciones abarcan Todas las ubicaciones y los nombres de host que utiliza el proyecto actualmente, que pueden incluir gcr.io, us.gcr.io, eu.gcr.io o asia.gcr.io.

gcloud

Para ver una lista de las imágenes que se encuentran en una de tus ubicaciones del host, usa el siguiente comando:

gcloud container images list --repository=[HOSTNAME]/[PROJECT-ID]

donde:

  • [HOSTNAME] aparece bajo Location en la consola. Es una de estas cuatro opciones: gcr.io, us.gcr.io, eu.gcr.io o asia.gcr.io.
  • [PROJECT-ID] es el ID de tu proyecto de la consola de Google Cloud. Si el ID de tu proyecto contiene dos puntos (:), consulta Proyectos con alcance de dominio.

Si tienes registros anidados, enumera las imágenes anidadas y especifica el nivel del repositorio en que se almacenan:

gcloud container images list --repository=[HOSTNAME]/[PROJECT-ID]/[IMAGE]

donde [IMAGE] es el repositorio en el que se anidan más imágenes.

Consulta también la documentación de gcloud container images list.

Visualiza una lista de las versiones de una imagen

Un registro puede contener diferentes versiones de una imagen. Estas versiones tienen el mismo nombre de imagen, y se identifican por su resumen y sus etiquetas.

Console

Para ver el resumen y las etiquetas de una imagen, haz lo siguiente:

  1. Ir a la página de Container Registry

    Abrir la página de Container Registry

  2. Haz clic en el nombre de la imagen para ver la versión correspondiente. El resumen abreviado aparece bajo Nombre, y las etiquetas se enumeran bajo Etiquetas.

  3. Si deseas obtener el resumen completo, haz clic en la versión de la imagen para ver sus metadatos. El resumen se llama resumen de la imagen.

gcloud

Para ver una lista de los resúmenes abreviados y las etiquetas de una imagen, ejecuta el siguiente comando:

gcloud container images list-tags [HOSTNAME]/[PROJECT-ID]/[IMAGE]

donde:

  • [HOSTNAME] aparece bajo Location en la consola. Es una de estas cuatro opciones: gcr.io, us.gcr.io, eu.gcr.io o asia.gcr.io.
  • [PROJECT-ID] es el ID de tu proyecto de la consola de Google Cloud. Si el ID de tu proyecto tiene dos puntos (:), consulta Proyectos con alcance de dominio.
  • [IMAGE] es el nombre de la imagen en Container Registry.

Para ver una lista de los resúmenes completos de las versiones de una imagen específica, ejecuta el siguiente comando:

gcloud container images list-tags --format='get(digest)' [HOSTNAME]/[PROJECT-ID]/[IMAGE]

Consulta la documentación sobre gcloud container images list-tags.

Etiqueta imágenes

Puedes agregar una etiqueta a una imagen usando la consola de Google Cloud o el comando línea.

Un resumen es un identificador único que se genera automáticamente para una versión de la imagen. Una etiqueta funciona como una etiqueta que puedes aplicar a una versión específica de una imagen.

Puedes agregar más de una etiqueta a una imagen. Dentro de un repositorio, cada etiqueta de una imagen debe ser única. Por ejemplo, si agregas la etiqueta release-candidate a la novena versión de tu imagen, agregar la misma etiqueta a la décima versión hará que la etiqueta se traslade a la décima versión.

Si no etiquetas una imagen, el cliente de Docker agregará la etiqueta predeterminada latest. Esto significa que latest no indica la versión más reciente de una imagen. En cambio, significa que se trata de una versión de imagen que etiquetaste de forma específica como latest o la versión sin etiqueta más reciente de una imagen. Debido a que el significado de latest no es claro, te recomendamos no depender de la etiqueta latest.

Console

Para etiquetar una imagen alojada por Container Registry, sigue estos pasos:

  1. Ir a la página de Container Registry

    Abrir la página de Container Registry

  2. Haz clic en el nombre de la imagen para ver la versión correspondiente.

  3. En Etiquetas, haz clic en el ícono de edición.

  4. Escribe las etiquetas nuevas en el campo y haz clic en GUARDAR.

gcloud

Para etiquetar imágenes alojadas por Container Registry, usa el comando gcloud container images add-tag:

gcloud container images add-tag \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG] \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[NEW_TAG]

o

gcloud container images add-tag \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST] \
[HOSTNAME]/[PROJECT-ID]/[IMAGE]:[NEW_TAG]

donde:

  • [HOSTNAME] aparece bajo Location en la consola. Es una de estas cuatro opciones: gcr.io, us.gcr.io, eu.gcr.io o asia.gcr.io.
  • [PROJECT-ID] es tu consola de Google Cloud ID del proyecto: Si el ID de tu proyecto tiene dos puntos (:), consulta Proyectos con alcance de dominio.
  • [IMAGE] es el nombre de la imagen en Container Registry.
  • [TAG] es una etiqueta que ya se aplicó a la imagen.
  • [IMAGE_DIGEST] es el valor de hash sha256 del contenido de la imagen.
  • [NEW_TAG] es la etiqueta nueva que agregas a la imagen.

Consulta gcloud container images add-tag para obtener más información sobre este comando.

Etiqueta imágenes locales para alojarlas en Container Registry

Antes de enviar cualquier imagen local a Container Registry, primero debes etiquetarla con el nombre del registro. Para obtener instrucciones, consulta la información sobre cómo enviar una imagen a un registro.

Quita las etiquetas de las imágenes

Puedes quitar una etiqueta de una imagen en Container Registry con el consola de Google Cloud o la línea de comandos.

Console

  1. Ir a la página de Container Registry

    Abrir la página de Container Registry

  2. Haz clic en el nombre de la imagen para ver la versión correspondiente.

  3. En Etiquetas, haz clic en el ícono de edición.

  4. Borra la etiqueta y haz clic en GUARDAR.

gcloud

Para quitar una etiqueta de una imagen, usa el siguiente comando:

gcloud container images untag [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]

donde:

  • [HOSTNAME] aparece bajo Location en la consola. Es una de estas cuatro opciones: gcr.io, us.gcr.io, eu.gcr.io o asia.gcr.io.
  • [PROJECT-ID] es el ID de tu proyecto de la consola de Google Cloud. Si el ID de tu proyecto tiene dos puntos (:), consulta Proyectos con alcance de dominio.
  • [IMAGE] es el nombre de la imagen en Container Registry.
  • [TAG] es la etiqueta que deseas quitar.

    Consulta gcloud container images untag para obtener más información sobre este comando.

Copia imágenes en un registro nuevo

Puedes copiar una imagen de un repositorio a otro con la línea de comandos. Debes tener acceso a ambos repositorios.

Para copiar una imagen de un repositorio a otro, usa el comando gcloud container images add-tag. Identifica la imagen que se moverá por su etiqueta:

gcloud container images add-tag \
[SOURCE_HOSTNAME]/[SOURCE_PROJECT-ID]/[SOURCE_IMAGE]:[SOURCE_TAG] \
[DESTINATION_HOSTNAME]/[DESTINATION_PROJECT-ID]/[DESTINATION_IMAGE]:[DESTINATION_TAG]

o su resumen:

gcloud container images add-tag \
[SOURCE_HOSTNAME]/[SOURCE_PROJECT-ID]/[SOURCE_IMAGE]@[IMAGE_DIGEST] \
[DESTINATION_HOSTNAME]/[DESTINATION_PROJECT-ID]/[DESTINATION_IMAGE]:[DESTINATION_TAG]

donde, tanto para la ubicación de origen como para la de destino:

  • [HOSTNAME] es la ubicación en que se aloja la imagen y es una de estas cuatro opciones: gcr.io, us.gcr.io, eu.gcr.io o asia.gcr.io.
  • [PROJECT-ID] es la consola de Google Cloud ID del proyecto: Si el ID de tu proyecto tiene dos puntos (:), consulta Proyectos con alcance de dominio.
  • [IMAGE] es el nombre de la imagen en Container Registry.
  • [IMAGE_DIGEST] es el valor de hash sha256 del contenido de la imagen.
  • [TAG] es la etiqueta que identifica la imagen de origen que se va a mover o la etiqueta que se debe aplicar a la imagen en el repositorio de destino.

Por ejemplo, si deseas copiar la imagen my-image en el repositorio de otro proyecto y en el host europeo, pero quieres que la imagen mantenga el mismo nombre y etiqueta, deberías usar lo siguiente:

gcloud container images add-tag \
gcr.io/[PROJECT-ID]/my-image:tag1 \
eu.gcr.io/[OTHER-PROJECT-ID]/my-image:tag1

donde [PROJECT-ID] y [OTHER-PROJECT-ID] son los IDs de los proyectos de la consola de Google Cloud, el de origen y el de destino. Debes tener acceso a los repositorios en ambos proyectos. Si alguno de los ID de proyecto tiene dos puntos (:), consulta Proyectos con alcance de dominio.

Consulta gcloud container images add-tag para obtener más información sobre este comando.

Borra imágenes

Puedes borrar una imagen con la consola de Google Cloud o la línea de comandos. Una vez que hayas borrado una imagen, no podrás deshacer esta acción.

Hay otras herramientas disponibles que te ayudarán a administrar las imágenes que no se utilizan. Por ejemplo, la herramienta gcr-cleaner busca y borra imágenes antiguas en función de diferentes criterios. Quitar imágenes que no se usan puede ayudarte a reducir los costos de almacenamiento. La herramienta gcr-cleaner no es un producto oficial de Google.

Para borrar una imagen de la consola de Google Cloud o de la CLI de gcloud, sigue estos pasos:

Console

  1. Ir a la página de Container Registry

    Abrir la página de Container Registry

  2. Haz clic en el nombre de la imagen para ver la versión correspondiente.

  3. En el registro, marca la casilla ubicada junto a las versiones de la imagen que deseas borrar.

  4. Haz clic en BORRAR en la parte superior de la página.

  5. En la ventana emergente Borrar elementos del repositorio, haz clic en BORRAR.

gcloud

Ejecuta uno de los siguientes comandos:

  • Una imagen identificada por su resumen:

    gcloud container images delete [HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST]
    
  • Una imagen identificada por su etiqueta, la cual tiene varias etiquetas:

    gcloud container images delete [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG] --force-delete-tags
    

donde:

  • [HOSTNAME] aparece bajo Location en la consola. Es una de estas cuatro opciones: gcr.io, us.gcr.io, eu.gcr.io o asia.gcr.io.
  • [PROJECT-ID] es el ID de tu proyecto de la consola de Google Cloud. Si el ID de tu proyecto tiene dos puntos (:), consulta Proyectos con alcance de dominio.
  • [IMAGE] es el nombre de la imagen en Container Registry.
  • [IMAGE_DIGEST] es el valor de hash sha256 del contenido de la imagen.
  • [TAG] es la etiqueta de la imagen que deseas quitar.

Consulta el gcloud container images delete para obtener más información sobre este comando.

¿Qué sigue?