La gestión de imágenes incluye enumerar las imágenes de un repositorio, añadir etiquetas, eliminar etiquetas, copiar imágenes en un repositorio nuevo y eliminar 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 el artículo Enviar y extraer imágenes.
Antes de empezar
Asegúrate de haber hecho lo siguiente:
Habilitar Container Registry en tu proyecto.
Docker configurado para autenticarse en el registro.
Tener permisos para acceder al registro.
Imágenes de fichas por ubicación de almacenamiento
Puedes enumerar las imágenes de ubicaciones de host específicas mediante la Google Cloud console o la línea de comandos.
Consola
Para enumerar las imágenes de una de tus ubicaciones de alojamiento, sigue estos pasos:
Ve a la página Container Registry.
Usa el selector situado encima de Nombre para elegir la ubicación del host. Entre las opciones se incluyen Todas las ubicaciones y los nombres de host que usa el proyecto actualmente, como gcr.io, us.gcr.io, eu.gcr.io o asia.gcr.io.
gcloud
Para enumerar las imágenes que se encuentran en una de tus ubicaciones de host, utiliza el siguiente comando:
gcloud container images list --repository=[HOSTNAME]/[PROJECT-ID]
donde:
[HOSTNAME]
se encuentra enLocation
en la consola. Es una de las cuatro opciones:gcr.io
,us.gcr.io
,eu.gcr.io
oasia.gcr.io
.[PROJECT-ID]
es el Google Cloud ID del proyecto de la consola. Si el ID de tu proyecto contiene dos puntos (:
), consulta Proyectos con ámbito de dominio.
Si tienes registros anidados, enumera las imágenes anidadas especificando el nivel del repositorio en el que están almacenadas:
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
.
Mostrar 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 digest y sus etiquetas.
Consola
Para ver el resumen y las etiquetas de una imagen, sigue estos pasos:
Ve a la página Container Registry.
Haz clic en el nombre de la imagen para ver las versiones de esa imagen. El resumen truncado se muestra en Nombre y las etiquetas en Etiquetas.
Para ver 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 enumerar los resúmenes y las etiquetas truncados de una imagen, ejecuta el siguiente comando:
gcloud container images list-tags [HOSTNAME]/[PROJECT-ID]/[IMAGE]
donde:
[HOSTNAME]
se encuentra enLocation
en la consola. Es una de las cuatro opciones:gcr.io
,us.gcr.io
,eu.gcr.io
oasia.gcr.io
.[PROJECT-ID]
es el Google Cloud ID del proyecto de la consola. Si tu ID de proyecto incluye dos puntos (:
), consulta Proyectos con ámbito de dominio.[IMAGE]
es el nombre de la imagen en Container Registry.
Para enumerar el resumen completo 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 de gcloud container images list-tags
.
Etiquetar imágenes
Puedes añadir una etiqueta a una imagen con Google Cloud console o con la línea de comandos.
Un resumen es un identificador único generado automáticamente para una versión de una imagen. Una etiqueta es una etiqueta que puedes aplicar a una versión específica de una imagen.
Puedes añadir más de una etiqueta a una imagen. En un repositorio, cada etiqueta de una imagen debe ser única. Por ejemplo, si añade la etiqueta release-candidate
a la novena versión de su imagen, al añadir la misma etiqueta a la décima versión,
la etiqueta se moverá de la novena a la décima versión.
Si no etiqueta una imagen, el cliente de Docker añade la etiqueta predeterminada latest
.
Esto significa que latest
no indica la versión más reciente de una imagen.
En su lugar, se refiere a una versión de una imagen que has etiquetado específicamente como latest
o a la versión más reciente de una imagen que no has etiquetado. Como el significado de latest
no está claro, le recomendamos que no dependa de la etiqueta latest
.
Consola
Para etiquetar una imagen alojada en Container Registry, sigue estos pasos:
Ve a la página Container Registry.
Haz clic en el nombre de la imagen para ver la versión de esa imagen.
En Etiquetas, haz clic en el icono de edición.
Escribe las nuevas etiquetas en el campo y haz clic en GUARDAR.
gcloud
Para etiquetar imágenes alojadas en 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]
se encuentra enLocation
en la consola. Es una de las cuatro opciones:gcr.io
,us.gcr.io
,eu.gcr.io
oasia.gcr.io
.[PROJECT-ID]
es el Google Cloud ID del proyecto de la consola. Si tu ID de proyecto incluye dos puntos (:
), consulta Proyectos con ámbito de dominio.[IMAGE]
es el nombre de la imagen en Container Registry.[TAG]
es una etiqueta que ya se ha aplicado a la imagen.[IMAGE_DIGEST]
es el valor de hash sha256 del contenido de la imagen.[NEW_TAG]
es la nueva etiqueta que vas a añadir a la imagen.
Consulta más información sobre este comando en gcloud container images add-tag
.
Etiquetar imágenes locales para alojarlas en Container Registry
Para enviar cualquier imagen local a Container Registry, primero debes etiquetarla con el nombre del registro y, a continuación, enviar la imagen. Para obtener instrucciones, consulta el artículo Enviar una imagen a un registro.
Desetiquetar imágenes
Puedes quitar una etiqueta de una imagen de Container Registry mediante laGoogle Cloud console o la línea de comandos.
Consola
Ve a la página Container Registry.
Haz clic en el nombre de la imagen para ver la versión de esa imagen.
En Etiquetas, haz clic en el icono de edición.
Elimina 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]
se encuentra enLocation
en la consola. Es una de las cuatro opciones:gcr.io
,us.gcr.io
,eu.gcr.io
oasia.gcr.io
.[PROJECT-ID]
es el Google Cloud ID del proyecto de la consola. Si tu ID de proyecto incluye dos puntos (:
), consulta Proyectos con ámbito de dominio.[IMAGE]
es el nombre de la imagen en Container Registry.[TAG]
es la etiqueta que quieres quitar.Consulta más información sobre este comando en
gcloud container images untag
.
Copiar imágenes en un registro nuevo
Puedes copiar una imagen de un repositorio a otro mediante 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
e identifica la imagen que quieres 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 el origen como para el destino:
[HOSTNAME]
es la ubicación en la que se aloja la imagen y puede ser una de estas cuatro opciones:gcr.io
,us.gcr.io
,eu.gcr.io
oasia.gcr.io
.[PROJECT-ID]
es el Google Cloud ID de proyecto de la consola. Si tu ID de proyecto incluye dos puntos (:
), consulta Proyectos con ámbito 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 va a aplicar a la imagen en el repositorio de destino.
Por ejemplo, si quieres copiar la imagen my-image
en el repositorio de otro proyecto y en el host europeo, pero quieres
mantener el mismo nombre y etiqueta de la imagen, usarías 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 proyecto de la Google Cloud consola
del proyecto del que vas a copiar y del proyecto al que vas a copiar.
Debes tener acceso a los repositorios de ambos proyectos. Si alguno de los IDs de proyecto contiene dos puntos (:
), consulta Proyectos con ámbito de dominio.
Consulta más información sobre este comando en gcloud container images add-tag
.
Eliminando imágenes
Puedes eliminar una imagen mediante la Google Cloud console o la línea de comandos. Una vez que hayas eliminado una imagen, no podrás deshacer esta acción.
Hay otras herramientas disponibles para ayudarte a gestionar las imágenes que no se usan. Por ejemplo, la herramienta gcr-cleaner busca y elimina imágenes antiguas según diferentes criterios. Eliminar las imágenes que no se usan puede ayudarte a reducir los costes de almacenamiento. La herramienta gcr-cleaner
no es un producto oficial de Google.
Para eliminar imágenes de la consola de Google Cloud o de gcloud CLI, sigue estos pasos:
Consola
Ve a la página Container Registry.
Haz clic en el nombre de la imagen para ver las versiones de esa imagen.
En el registro, marca la casilla situada junto a las versiones de la imagen que quieras eliminar.
En la parte superior de la página, haz clic en ELIMINAR.
En la ventana emergente Eliminar elementos del repositorio, haz clic en ELIMINAR.
gcloud
Ejecuta uno de los siguientes comandos:
Una imagen identificada por su digest:
gcloud container images delete [HOSTNAME]/[PROJECT-ID]/[IMAGE]@[IMAGE_DIGEST]
Una imagen identificada por su etiqueta, que tiene varias etiquetas:
gcloud container images delete [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG] --force-delete-tags
donde:
[HOSTNAME]
se encuentra enLocation
en la consola. Es una de las cuatro opciones:gcr.io
,us.gcr.io
,eu.gcr.io
oasia.gcr.io
.[PROJECT-ID]
es el Google Cloud ID del proyecto de la consola. Si tu ID de proyecto incluye dos puntos (:
), consulta Proyectos con ámbito 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 quieres quitar.
Consulta la gcloud container images delete
para obtener más información sobre este comando.
Siguientes pasos
- Consulta información sobre cómo configurar el control de acceso.
- Consulta más información sobre los componentes y las funciones de Container Registry.