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:
Habilitaste Container Registry en tu proyecto.
Configuraste Docker para autenticarte en el registro.
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:
Ir a la página de Container Registry
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 bajoLocation
en la consola. Es una de estas cuatro opciones:gcr.io
,us.gcr.io
,eu.gcr.io
oasia.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:
Ir a la página de Container Registry
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.
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 bajoLocation
en la consola. Es una de estas cuatro opciones:gcr.io
,us.gcr.io
,eu.gcr.io
oasia.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:
Ir a la página de Container Registry
Haz clic en el nombre de la imagen para ver la versión correspondiente.
En Etiquetas, haz clic en el ícono de edición.
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 bajoLocation
en la consola. Es una de estas cuatro opciones:gcr.io
,us.gcr.io
,eu.gcr.io
oasia.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
Ir a la página de Container Registry
Haz clic en el nombre de la imagen para ver la versión correspondiente.
En Etiquetas, haz clic en el ícono de edición.
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 bajoLocation
en la consola. Es una de estas cuatro opciones:gcr.io
,us.gcr.io
,eu.gcr.io
oasia.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
oasia.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
Ir a la página de Container Registry
Haz clic en el nombre de la imagen para ver la versión correspondiente.
En el registro, marca la casilla ubicada junto a las versiones de la imagen que deseas borrar.
Haz clic en BORRAR en la parte superior de la página.
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 bajoLocation
en la consola. Es una de estas cuatro opciones:gcr.io
,us.gcr.io
,eu.gcr.io
oasia.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?
- Obtén información sobre cómo configurar el control de acceso.
- Obtén más información sobre los componentes y las características de Container Registry.