Preguntas frecuentes sobre Container Registry
Encuentra respuestas a las preguntas más frecuentes sobre Container Registry, incluyendo cómo configurar espacios de nombres, gestionar imágenes y configurar el acceso.
Para consultar las preguntas más frecuentes sobre cómo gestionar la seguridad y las vulnerabilidades de las imágenes mediante Vulnerability Advisor, visite Preguntas más frecuentes para Vulnerability Advisor.
¿Dónde está la documentación de referencia de Container Registry?
La documentación de referencia de IBM Cloud Container Registry está disponible en la documentación de IBM Cloud. Para obtener más información, consulte Acerca de Container Registry y Container Registry CLI.
¿Cómo configuro la CLI de Container Registry?
Para configurar la interfaz de comando (CLI) de IBM Cloud Container Registry, siga estos pasos:
- Asegúrate de que la CLI de IBM Cloud esté instalada. Para comprobar que está instalado, ejecute el comando
ibmcloud help. - Instale el complemento
container-registryCLI ejecutando el comandoibmcloud plugin install container-registry. - Inicia sesión en IBM Cloud con el comando
ibmcloud login. - Verifique la instalación comprobando la versión actual del complemento
container-registryCLI con el comandoibmcloud plugin list.
Ahora puede utilizar la CLI IBM Cloud Container Registry para gestionar su registro y sus recursos para su cuenta IBM Cloud.
Para obtener más información, consulte Configuración de la CLI y el espacio de nombres de Container Registry y Primeros pasos con Container Registry.
¿Por qué ibmcloud cr no es un comando conocido?
Si recibe un mensaje que indica que ibmcloud cr no es un comando registrado, el complemento container-registry CLI no está instalado o no está actualizado. Consulte ¿Por qué fallan comandos Container Registry(ibmcloud cr)con el mensaje de que no están registrados? para obtener ayuda.
Si tienes problemas con un comando no registrado, es probable que no tengas la versión más reciente del plug-in. Para obtener más información sobre cómo actualizar Container Registry CLI, consulte Actualización del complemento container-registry CLI.
¿Cómo configuro mi cortafuegos para permitir conexiones a Container Registry?
Puede utilizar un cortafuegos de capa 7 con los dominios que se enumeran en Acceder a Container Registry a través de un cortafuegos o utilizar una red privada virtual(VPN).
¿Cuál es el nombre de mi espacio de nombres?
Para averiguar los nombres de sus espacios de nombres, ejecute el comando ibmcloud cr namespace-list comando.
También puede utilizar la API para listar sus espacios de nombres mediante el método GET /api/v1/namespaces.
Para obtener más información sobre los espacios de nombres, consulte Espacio de nombres de registro. Para planificar sus espacios de nombres, consulte Planificación de espacios de nombres.
¿Cuántos espacios de nombres puede tener?
Puede tener 100 espacios de nombres de registro en cada región.
¿Puedo cambiar el nombre de un espacio de nombres?
No se puede renombrar un espacio de nombresUna serie de repositorios que almacenan imágenes en un registro. Un espacio de nombres se asocia a una cuenta de IBM Cloud, que puede incluir varios espacios de nombres.. Si desea cambiar el nombre del espacio de nombres, debe crear un espacio de nombres con el nuevo nombre y transferir sus datos. Para transferir sus datos, puede copiar el contenido del espacio de nombres existente en el espacio de nombres que ha creado.
Si no desea transferir los datos manualmente, puede crear un script para esta acción utilizando el comando ibmcloud cr image-tag comando. Por ejemplo, puede
utilizar el siguiente script, donde OLD_NAMESPACE es el espacio de nombres existente y NEW_NAMESPACE es el espacio de nombres que ha creado:
IMAGES=$(icr images --restrict OLD_NAMESPACE --format "{{ .Repository }}:{{ .Tag }}")
for i in $IMAGES ; do
new=$(echo $i | sed "s|/OLD_NAMESPACE/|/NEW_NAMESPACE/|1")
ibmcloud cr image-tag $i $new
done
¿Por qué no tengo autorización para crear un espacio de nombres?
El mensaje de error You are not authorized to access the specified resource. indica que carece de los permisos de usuario necesarios para trabajar con espacios de nombres.
Consulte ¿Por qué no estoy autorizado a acceder a un recurso específico en Container Registry? para obtener ayuda.
¿Por qué no puedo crear un espacio de nombres?
Si tiene problemas al intentar añadir un espacio de nombres en Container Registry, puede deberse a una de las siguientes causas:
- Se incluyen caracteres no válidos en el espacio de nombres.
- El espacio de nombres ya está en uso.
- Estás reutilizando un espacio de nombres que fue eliminado recientemente.
- No dispones de los permisos necesarios para crear un espacio de nombres.
Consulte ¿Por qué no puedo añadir un espacio de nombres en Container Registry? para obtener ayuda.
¿Cómo se suprime un espacio de nombres?
Si ya no necesita un espacio de nombres de registro, puede eliminar el espacio de nombres de la cuenta de IBM Cloud. Para obtener más información, consulte Cómo eliminar espacios de nombres.
Al eliminar un espacio de nombres, cualquier imagen almacenada en dicho espacio de nombres también se suprimirá. Esta acción no se puede deshacer.
¿Cómo accedo a mis espacios de nombres Container Registry?
Puede acceder a los espacios de nombres de IBM Cloud Container Registry de varias maneras, dependiendo de su caso de uso. Puede crear, ver, modificar y eliminar espacios de nombres en la consola IBM Cloud o en la CLI IBM Cloud. Puede insertar y extraer imágenes utilizando herramientas de terceros como Docker, Podman, SkopeoORAS, regctl y Crane. También puede utilizar los SDK de IBM Cloud para manipular el registro.
- Autenticación de la automatización con credenciales de larga duración
- Utilice claves API (ya sean claves API de usuario o claves API de ID de servicio) con políticas de acceso IAM. Las claves API son el método preferido para la automatización y los clústeres de Kubernetes. Para obtener más información, consulte Acceso a los espacios de nombres en la automatización.
- Autenticación del acceso interactivo
- El comando
ibmcloudutiliza tokens de actualización de IAM para el acceso a la sesión cuando se trabaja de forma interactiva con el registro. Puede utilizar el comandoibmcloud cr loginpara configurar el acceso al token de actualización con Docker, Podman, y otros clientes. Para más información, consulte Acceso interactivo a los espacios de nombres.
Todos los métodos de acceso requieren políticas de acceso IAM apropiadas. Para obtener más información sobre la configuración de políticas de acceso, consulte Definición de políticas de acceso de IAM.
¿Cómo obtengo las credenciales de extracción de imágenes para Container Registry?
Para las credenciales de larga duración, desea una clave de API que esté asociada con un ID de servicio o ID de usuario que tenga permiso de lector de IAM en el espacio de nombres que contiene la imagen. Una clave de API de usuario está asociada a un usuario y a sus políticas de acceso. Una clave API de ID de servicio tiene sus propias políticas de acceso. Puede crear claves API de ID de servicio y claves API de usuario manualmente en la consola IBM Cloud y en la CLI. Para obtener más información sobre las claves de API, consulte Visión general de las claves de API.
Por motivos de seguridad, la clave de API sólo está disponible para copiarse o descargarse en el momento de la creación. Si se pierde la clave de API, deberá crear una nueva clave de API.
Puede crear claves API de usuario y claves API de ID de servicio en la consola IBM Cloud, la interfaz de comando (CLI), la API y en Terraform. Para obtener más información sobre la creación de claves API, consulte Gestión de claves API de usuario y Gestión de claves API de ID de servicio.
Para más información sobre cómo acceder a Container Registry, consulte Acceso a Container Registry.
¿Cómo enumero los nombres de las imágenes?
Para ver todas las imágenes de su cuenta IBM Cloud, puede ejecutar el comando ibmcloud cr images, que muestra todas las imágenes etiquetadas de su cuenta IBM Cloud con un resumen truncado. Si quieres mostrar todas tus imágenes con
el resumen completo, incluidas las que no están etiquetadas, ejecuta el comando ibmcloud cr image-digests. El nombre de la imagen tiene el formato repository@digest o repository:tag. Los valores de repositorio,
resumen y etiqueta se devuelven al ejecutar los comandos.
Para más información, consulte ibmcloud cr image-list(ibmcloud cr images) y ibmcloud cr image-digests(ibmcloud cr digests).
¿Cómo puedo listar imágenes públicas?
Para ver una lista de imágenes públicas, ejecute los siguientes mandatos ibmcloud para elegir como destino el registro global y ver la lista de las imágenes públicas que proporciona IBM:
- Establezca la región como global (
icr.io) ejecutando el comandoibmcloud cr region-sete introduciendoglobalcomo región.
ibmcloud cr region-set global
- Liste las imágenes públicas ejecutando el comando
ibmcloud cr imagescon la opción--include-ibm.
ibmcloud cr images --include-ibm
¿Por qué se interrumpen las solicitudes a Container Registry mientras utilizo IBM Cloud CLI?
El problema del tiempo de espera cuando se utiliza IBM Cloud CLI con Container Registry puede deberse a que hay muchas imágenes en la cuenta. Para resolver esta situación, puede utilizar el comando ibmcloud cr image-list con la
opción --restrict para limitar el alcance de la lista y mejorar el rendimiento. Alternativamente, si no se necesitan informes de vulnerabilidad, utilice el comando ibmcloud cr image-list con la opción --no-va.
Para gestionar el número de imágenes, considere la posibilidad de limpiar sus espacios de nombres. Para obtener más información, consulte Limpieza de los espacios de nombres en Container Registry.
Si estás siguiendo las instrucciones para empezar, las instrucciones asumen que estás en tu propia cuenta con permiso para hacer todo. Si es miembro de una cuenta cuyo propietario y administrador es otra persona, es posible que no disponga de los permisos correctos para configurar y utilizar el servicio de registro. Pida a su administrador que le añada a una política de acceso existente, o cree una política de acceso que le otorgue el rol de acceso al servicio correcto para trabajar con Container Registry. Para más información, consulte ¿Por qué no puedo empezar con Container Registry? para obtener ayuda.
Si comandos Container Registry fallan con un error que indica que no están registrados, instale el complemento container-registry CLI. Además, asegúrese de que el complemento ibmcloud CLI y el complemento container-registry CLI están actualizados. Si desea utilizar todos los comandos y opciones disponibles, debe mantener actualizadas sus CLI. Para comprobar la versión actual de sus plug-ins CLI, ejecute el comando ibmcloud plugin list. Consulte
¿Por qué ibmcloud cr no es un comando conocido? para obtener ayuda.
¿Qué herramientas puedo utilizar para crear y enviar imágenes?
Puede utilizar las herramientas de Docker y que no sean de Docker para crear y enviar imágenes al registro. Puedes utilizar herramientas ajenas a Docker que sean compatibles con el formato y el protocolo de imágenes de contenedores de OCIUna imagen de contenedor que cumple con la especificación de formato de imagen OCI. Para iniciar sesión utilizando otros clientes, consulte Acceso interactivo a los espacios de nombres.
¿Cómo me conecto a Container Registry con Podman?
Para conectarse a IBM Cloud Container Registry utilizando Podman, puede utilizar el siguiente comando podman login DOMAIN_NAME -u iamapikey -p PASSWORD. Sustituya DOMAIN_NAME por su nombre de dominio, por ejemplo icr.io,
y PASSWORD por su clave API IAM.
Si prefiere no utilizar una clave API, puede utilizar el siguiente comando para iniciar sesión con un token de actualización de usuario ibmcloud cr login --client podman.
Para obtener más información, consulte Uso de Podman para autenticarse con el registro, Uso de Podman para autenticarse con el registro mediante perfiles de confianza y ibmcloud cr login.
¿Las imágenes de la papelera se tienen en cuenta para mi cuota?
Las imágenes que están en la basura no se tienen en cuenta para su cuota.
¿Cómo se vacía la papelera en « Container Registry »?
No se pueden eliminar imágenes de la papelera. Las imágenes se almacenan en la papelera durante 30 días. No se te cobrará por las imágenes que estén en la papelera.
Puedes comprobar qué imágenes hay en la papelera ejecutando el ibmcloud cr trash-list comando.
¿Cómo puedo encontrar el resumen de la imagen?
Puede encontrar el formato largo del resumen de la imagen ejecutando uno de los mandatos siguientes. El resumen se visualiza en la columna Resumen de la CLI.
Cuando utilices el resumen para identificar una imagen, utiliza siempre el formato largo.
Puede ejecutar cualquiera de los siguientes comandos para obtener la forma larga del resumen de la imagen:
-
Ejecute el mandato
ibmcloud cr image-digests:ibmcloud cr image-digests -
Ejecute el comando
ibmcloud cr image-listcon la opción--no-trunc:ibmcloud cr image-list --no-truncSi ejecuta el mandato
ibmcloud cr image-listsin la opción--no-trunc, verá el formato truncado del resumen.
¿Cómo utilizo los resúmenes para trabajar con imágenes?
El resumen identifica una imagen utilizando el hash sha256 de manifiesto de imagen.
Para buscar los resúmenes de las imágenes, ejecute el mandato ibmcloud cr image-digests. Puede hacer referencia a una imagen utilizando una combinación
del contenido de la columna Repositorio (repository) y la columna Resumen (digest) separada por un símbolo (@) para crear el nombre de la imagen en el formato repository@digest.
¿Por qué no puedo insertar la imagen en Container Registry?
Es posible que tenga problemas al extraer o enviar imágenes a Container Registry por diversos motivos, como que se haya superado la cuota de almacenamiento de imágenes o de tráfico de extracción, o que las credenciales no sean válidas. Para resolver este problema, inicie sesión en IBM Cloud y en la CLI de IBM Cloud Container Registry, revise los límites de cuota y el uso, y considere la posibilidad de actualizar a un plan estándar si tiene un plan gratuito.
Para obtener ayuda, consulte ¿Por qué no puedo insertar o extraer una imagen de Docker cuando utilizo Container Registry?
¿Cómo enumero las imágenes que tienen más de un año?
LinuxmacOS En Linux® y macOS, si desea listar todas las imágenes, etiquetadas y sin etiquetar, que se crearon hace más de un año, puede ejecutar el mandato siguiente:
year=$(($(date +%s) - 31556952))
ibmcloud cr digests --format '{{ if (lt .Created '$year')}}{{.Repository}}:{{.Digest}}{{end}}'
¿Cómo se utiliza el control de acceso?
Puede crear políticas de IBM Cloud Identity and Access Management (IAM) para controlar el acceso a los espacios de nombres en IBM Cloud Container Registry. Para obtener más información, consulte Guía de aprendizaje para otorgar acceso a recursos de IBM Cloud Container Registry y Gestión del acceso de IAM para Container Registry.
¿Puedo enviar imágenes a una cuenta distinta de la que ejecuta el proceso de compilación?
Puede enviar imágenes a IBM Cloud Container Registry desde una cuenta de IBM Cloud distinta de la que está ejecutando el proceso de compilación siguiendo estos pasos.
- Cree una clave API en la cuenta IBM Cloud de destino con las políticas de acceso necesarias para permitir el envío de imágenes al espacio de nombres requerido.
- Guarde la clave de API y el espacio de nombres de destino en la configuración de su canal de compilación.
- Modifique la secuencia de comandos del proceso de compilación para utilizar la clave de la API y el espacio de nombres de destino cuando envíe imágenes a Container Registry. Esta acción hace que el proceso de compilación se autentique y envíe imágenes al espacio de nombres especificado en la cuenta IBM Cloud de destino.
Para más información, consulte Envío de imágenes mediante una clave API y Acceso a Container Registry.
¿Qué funciones debo tener para poder empujar y tirar de las imágenes?
Para extraer o insertar una imagen, debe tener el rol de Escritor o de Gestor. Para más información, consulte Roles de acceso para utilizar Container Registry.
¿Tengo alguna imagen sin etiquetar?
Para averiguar si tiene alguna imagen sin etiquetar, liste las imágenes ejecutando el mandato ibmcloud cr image-digests.
Las imágenes sin etiquetar tienen un guión (-) en la columna Etiquetas.
¿Necesito imágenes sin etiquetar?
Si tiene contenedores activos que ejecutan imágenes sin etiquetar, debe conservar las imágenes sin etiquetar. Si suprime las imágenes sin etiquetar que están en uso, puede provocar problemas con el escalado o los reinicios automatizados. La supresión de imágenes sin etiquetar puede causar un problema en las siguientes circunstancias:
- La imagen se desplegó utilizando el compendio como referencia. Por ejemplo, IBM Cloud Code Engine resuelve y utiliza un compendio de imágenes cuando sirve aplicaciones (consulte Implementación de cargas de trabajo de aplicaciones a partir de imágenes en un registro público ).
- Un servicio webhookn, como por ejemplo Portieris ha mutilado la referencia de imagen.
¿Cómo puedo comprobar qué imágenes no etiquetadas van a ser eliminadas por el comando ibmcloud cr image-prune-untagged ?
No se puede hacer una ejecución en seco del ibmcloud cr image-prune-untagged comando. Sin embargo, puede ver todas sus imágenes etiquetadas y
no etiquetadas ejecutando el comando ibmcloud cr image-digests comando. Si desea ver sólo las imágenes sin etiquetar, puede ejecutar el comando ibmcloud cr image-digests con formato en lenguaje Go, consulte Ejemplo de comando formato Go para ibmcloud cr image-digests. A continuación,
puede comprobar si desea eliminar estas imágenes no etiquetadas antes de ejecutar el comando ibmcloud cr image-prune-untagged.
¿Cómo restauro una imagen que he eliminado por accidente?
Si quieres restaurar una imagen borrada, busca la imagen listando el contenido de la papelera ejecutando el comando ibmcloud cr trash-list comando. Restaure
la imagen seleccionada ejecutando el comando ibmcloud cr image-restore comando. Las imágenes se almacenan en la papelera durante 30 días.
¿Qué imágenes son admisibles?
Si está limpiando imágenes mediante políticas de retención, sólo se limpiarán las imágenes elegibles. Las imágenes que siempre se conservan son las de Cloud Native Buildpacks y Google sin distribución con la fecha de compilación fijada en una constante específica en lugar de la hora de compilación real o sin ninguna marca de tiempo de compilación, y las listas de manifiestos. Las imágenes que se conservan siempre no son imágenes elegibles.
Las imágenes que no cumplen los requisitos se siguen mostrando, pero no cuentan para el número total de imágenes establecido en la política de conservación y no se eliminan.
Las imágenes creadas antes de 2013-01-19T00:13:39Z quedan excluidas de la evaluación de la política de conservación.
Para más información, consulte Retención por planificación.
¿Qué puedo utilizar para firmar imágenes en Container Registry?
Container Registry admite imágenes firmadas con Red Hat firmas o cosignas. Puede utilizar varias herramientas, como Skopeo, Podman, y la CLI Red Hat OpenShift, para crear Red Hat firmas para sus imágenes. Puede almacenar las imágenes firmadas para obtener contenido de confianza utilizando la API de extensión de firmas de Red Hat, que es compatible con IBM Cloud Container Registry. Para obtener más información sobre la firma de imágenes, consulta Firma de imágenes para contenido de confianza en Container Registry.
¿En qué región estoy?
Para determinar la región que está utilizando actualmente, puede utilizar el comando ibmcloud cr region en la CLI. Este comando muestra la región de destino
y el registro. También puede consultar la consola en la que está desplegada su instancia para averiguar la región. Para obtener más información, consulte Regiones.
¿Qué regiones hay disponibles?
Para saber más sobre las regiones disponibles en IBM Cloud Container Registry, consulte Regiones.
¿Cómo puedo cambiar la región o el registro?
Para cambiar la región y el registro, debe acceder a IBM Cloud y utilizar el comando ibmcloud cr region-set REGION donde REGION es el nombre
de la región que desea utilizar, por ejemplo, global, au-syd y jp-tok. Este comando configura el plug-in container-registry CLI para que se dirija al registro regional especificado.
Por ejemplo, para cambiar el registro a uk.icr.io, que está en la región eu-gb, complete los siguientes pasos.
- Inicia sesión en IBM Cloud utilizando el siguiente comando.
ibmcloud login
- Ejecute el comando
ibmcloud cr region-setpara establecer la región y el registro introduciendoeu-gbcomo región:
ibmcloud cr region-set eu-gb
También puede utilizar el nombre del registro (por ejemplo, uk.icr.io) o el nombre anterior de la región (por ejemplo, uk-south en lugar de eu-gb).
Obtiene la respuesta siguiente:
The region is set to 'uk-south', the registry is 'uk.icr.io'.
Para saber más sobre las regiones disponibles en IBM Cloud Container Registry, consulte Regiones.
¿Cómo consigo que el comando docker pull devuelva la versión más reciente?
Para encontrar la imagen más reciente, ejecute el comando ibmcloud cr image-list en lugar del comando docker pull. Para facilitar la búsqueda de la imagen más reciente, defina cada vez una etiqueta secuencial diferente
para sus imágenes y no confíe en la etiqueta latest.
Para obtener ayuda, consulte ¿Por qué no puedo obtener la imagen más reciente utilizando la etiqueta latest en Container Registry?
¿Por qué fallan mis pods con un error ImagePullBackOff ?
Es probable que el error esté causado por una de las siguientes situaciones:
- Tu clúster utiliza una clave de API almacenada en un secreto de descarga de imágenes para autorizar al clúster a descargar imágenes de IBM Cloud Container Registry.
- La imagen con la etiqueta específica no existe en el repositorio.
Para solucionar el error, compruebe las siguientes causas potenciales.
- Comprueba que estás utilizando el nombre y la etiqueta correctos para la imagen.
- Comprueba que tus cuotas de tráfico pull y de almacenamiento son lo suficientemente grandes.
- Compruebe si dispone de un secreto de extracción de imágenes en su espacio de nombres.
Para obtener más información, consulte ¿Por qué fallan las imágenes al extraerlas del registro con ImagePullBackOff o errores de autorización? para obtener ayuda.
¿Por qué recibo un error de cuota excedida?
Has superado la cuota de almacenamiento de imágenes o de tráfico pull de tu cuenta para el mes en curso. Para resolver este problema, puedes revisar tus límites de cuota y aumentarlos si es necesario o, si tienes el plan Lite, pasar al plan estándar.
Para obtener más información, consulte ¿Por qué aparecen errores sobre mi cuota en Container Registry? y No superar los límites de cuota.
¿Cómo se suprime IBM Cloud Container Registry?
Si ya no desea utilizar Container Registry, puede eliminarlo desinstalando el complemento container-registry CLI. Para obtener más información, consulte Desinstalación del complemento container-registry CLI.