Administra imágenes

En esta página, se explica cómo administrar las imágenes alojadas en Container Registry. 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 información sobre cómo enviar una imagen local a Container Registry o extraer una imagen almacenada en Container Registry, consulta Enviar y extraer imágenes.

Antes de comenzar

Asegúrate de que se cumpla lo siguiente:

  1. Se instaló la versión más reciente del SDK de Cloud, que incluye la herramienta de línea de comandos de gcloud.

  2. Se instaló Docker.

  3. Tienes acceso a los registros con los que trabajarás.

  4. Se configuró Docker para el uso de gcloud como auxiliar de credenciales o se está usando otro método de autenticación. Para usar gcloud como auxiliar de credenciales, ejecuta el siguiente comando:

    gcloud auth configure-docker
    
  5. Docker requiere que los auxiliares de credenciales estén en el sistema PATH. Asegúrate de que el auxiliar de credenciales que hayas elegido, gcloud o docker-credential-gcr, se encuentre en el sistema PATH.

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

Puedes enumerar las imágenes que están en ubicaciones del host específicas mediante Google Cloud Console 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 Google Cloud Console. 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. Haga clic en el nombre de la imagen para ver las versiones de esa imagen. 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 Google Cloud Console. 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 mediante Google Cloud Console o la línea de comandos. En un registro, las etiquetas son exclusivas de una versión de una imagen. Por lo tanto, si tiene varias versiones de una imagen, cada etiqueta se aplicará solo a una de las versiones. Si aplicas a una imagen una etiqueta que ya está en uso, moverás la etiqueta de la versión original a la nueva.

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 el ID de tu proyecto de Google Cloud Console. 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 mediante Google Cloud Console 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 Google Cloud Console. 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 el ID del proyecto de Google Cloud Console. 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 de la guía de inicio rápido en el repositorio de otro proyecto y en el host europeo, pero quieres mantener el mismo nombre y etiqueta, deberías usar lo siguiente:

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

donde [PROJECT-ID] y [OTHER-PROJECT-ID] son los ID de los proyectos de Google Cloud Console, 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 Google Cloud Console o la línea de comandos. Una vez que hayas borrado una imagen, no podrás deshacer esta acción.

Console

Para borrar una imagen de uno de tus repositorios de 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 sus versiones disponibles.

  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

Para borrar una imagen de uno de tus repositorios de Container Registry, usa 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 Google Cloud Console. 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