Iniciación a Container Registry
IBM Cloud® Container Registry proporciona un registro de imagen privada de varios arrendatarios que puede utilizar para almacenar y compartir las imágenes de contenedor con los usuarios de la cuenta de IBM Cloud.
La consola de IBM Cloud incluye un breve inicio rápido. Para obtener más información sobre cómo utilizar la consola de IBM Cloud, consulte Gestión de la seguridad de imágenes con Vulnerability Advisor.
No coloque información personal en las imágenes de contenedor, nombres de espacio de nombres, campos de descripción, o en cualesquiera datos de configuración de imágenes (por ejemplo, nombres de imágenes o etiquetas de imagen).
Antes de empezar
Instale la CLI de IBM Cloud para poder ejecutar los mandatos de IBM Cloud ibmcloud
; consulte Getting started with the IBM Cloud CLI.
Las siguientes instrucciones suponen que estás en tu propia cuenta con permiso para hacerlo todo. Si descubre que no puede ejecutar los comandos y es miembro de una cuenta que pertenece y es administrada por otra persona, es posible que carezca de los permisos correctos para configurar y utilizar el servicio Container Registry. En ese caso, debe solicitar a su administrador que le otorgue los permisos de rol de acceso al servicio IAM necesarios. Para más información, consulte ¿Por qué no puedo empezar a utilizar Container Registry?
Instale la CLI de Container Registry
-
Instale el plug-in
container-registry
CLI ejecutando el siguiente comando:ibmcloud plugin install container-registry
Para obtener más información sobre la instalación de plug-ins, consulte Ampliación de IBM Cloud CLI con plug-ins.
Configure un espacio de nombres
Crear un espacio de nombres. El espacio de nombres se crea en el grupo de recursos que se especifique para así poder configurar el acceso a recursos dentro del espacio de nombres a nivel de grupo de recursos. Si no especifica un grupo de recursos y no tiene como objetivo un grupo de recursos se utiliza el grupo de recursos predeterminado. Los espacios de nombres asignados a un grupo de recursos se muestran en la página Lista de recursos de la consola de IBM Cloud.
-
Inicie sesión en IBM Cloud.
ibmcloud login
Si tiene un ID federado, utilice
ibmcloud login --sso
para iniciar la sesión. Especifique el nombre de usuario y utilice el URL proporcionado en su salida de CLI para recuperar el código de acceso de un solo uso. Si tiene un ID federado, el inicio de sesión falla sin la opción--sso
y funciona correctamente con la opción--sso
.No es necesario iniciar sesión en Container Registry hasta que desee enviar una imagen, consulte el Paso 5: Enviar imágenes en el espacio de nombres.
-
Añada un espacio de nombres para crear su propio repositorio de imágenes. Sustituya
MY_NAMESPACE
por el espacio de nombres preferido.El espacio de nombres debe ser exclusivo en todas las cuentas de IBM Cloud de la misma región. Los espacios de nombres deben tener entre 4 y 30 caracteres y solo deben contener letras en minúsculas, números, guiones (-) y guiones bajos (_). Los espacios de nombres deben empezar y finalizar con una letra o un número.
ibmcloud cr namespace-add MY_NAMESPACE
Puede colocar el espacio de nombres en el grupo de recursos que desee utilizando una de las opciones siguientes.
- Antes de crear el espacio de nombres, ejecute el mandato
ibmcloud target -g RESOURCE_GROUP
, dondeRESOURCE_GROUP
es el grupo de recursos. - Especifique el grupo de recursos con la opción
-g
en el mandatoibmcloud cr namespace-add
.
Si tiene un problema cuando intenta crear un espacio de nombres, consulte ¿Por qué no puedo agregar un espacio de nombres? para obtener ayuda.
- Antes de crear el espacio de nombres, ejecute el mandato
-
Para asegurarse de que se crea su espacio de nombres, ejecute el comando
ibmcloud cr namespace-list
.ibmcloud cr namespace-list -v
Extraer imágenes de un registro en el sistema local
-
Instale Docker o una herramienta que elija, como Podman.
-
Instale la CLI Docker Engine.
WindowsmacOS Para Windows® 8, o macOS X Yosemite 10.10.x o anterior, instaleDocker Desktop en su lugar.
Para obtener más información sobre la versión de Docker compatible con IBM Cloud Container Registry, consulte Compatibilidad con Docker.
-
Instale Podman.
-
-
Descargue (extraiga) la imagen en el sistema local. Sustituya
SOURCE_IMAGE
por el repositorio de la imagen yTAG
por la etiqueta de la imagen que desea utilizar, por ejemplo,latest
. Por ejemplo, en función de la herramienta que esté utilizando, ejecute uno de los mandatos siguientes.-
Si utiliza Docker, ejecute el mandato siguiente.
docker pull SOURCE_IMAGE:TAG
Ejemplo, donde
SOURCE_IMAGE
eshello-world
yTAG
eslatest
:docker pull hello-world:latest
Si tiene algún problema al intentar extraer una imagen de Docker, consulte ¿Por qué no puedo insertar o extraer una imagen de Docker? para obtener ayuda. Si no puede extraer la imagen más reciente utilizando la etiqueta
latest
, consulte ¿Por qué no puedo extraer la imagen más reciente utilizando la etiquetalatest
? para obtener ayuda. -
Si utiliza Podman, ejecute el mandato siguiente.
podman pull SOURCE_IMAGE:TAG
Ejemplo, donde
SOURCE_IMAGE
eshello-world
yTAG
eslatest
:podman pull hello-world:latest
-
Etiquetar la imagen
Para etiquetar la imagen, sustituya SOURCE_IMAGE
por el repositorio y TAG
por la etiqueta de la imagen local que ha extraído anteriormente. Sustituya REGION
por el nombre de la región.
Sustituya MY_NAMESPACE
por el espacio de nombres que ha creado en Configurar un espacio de nombres. Defina el repositorio y la etiqueta de la imagen que desea utilizar en su espacio de
nombres sustituyendo NEW_IMAGE_REPO
por el nombre de su repositorio de imágenes y NEW_TAG
por la etiqueta. Por ejemplo, en función de la herramienta que esté utilizando, ejecute uno de los mandatos siguientes.
Para encontrar el nombre de la región, ejecute el mandato ibmcloud cr region
.
-
Si utiliza Docker, ejecute el mandato siguiente.
docker tag SOURCE_IMAGE:TAG REGION.icr.io/MY_NAMESPACE/NEW_IMAGE_REPO:NEW_TAG
Ejemplo, donde
SOURCE_IMAGE
eshello-world
,TAG
eslatest
,REGION
esuk
,MY_NAMESPACE
esnamespace1
,NEW_IMAGE_REPO
eshw_repo
yNEW_TAG
es1
:docker tag hello-world:latest uk.icr.io/namespace1/hw_repo:1
-
Si utiliza Podman, ejecute el mandato siguiente.
podman tag SOURCE_IMAGE:TAG REGION.icr.io/MY_NAMESPACE/NEW_IMAGE_REPO:NEW_TAG
Ejemplo, donde
SOURCE_IMAGE
eshello-world
,TAG
eslatest
,REGION
esuk
,MY_NAMESPACE
esnamespace1
,NEW_IMAGE_REPO
eshw_repo
yNEW_TAG
es1
:podman tag hello-world:latest uk.icr.io/namespace1/hw_repo:1
Enviar imágenes al espacio de nombres
-
Inicie sesión en IBM Cloud Container Registry utilizando una de las opciones siguientes.
-
Para iniciar la sesión utilizando Docker, ejecute el mandato
ibmcloud cr login
para registrar el daemon de Docker local en IBM Cloud Container Registry.ibmcloud cr login --client docker
-
Para iniciar sesión utilizando Podman, ejecute el mandato
ibmcloud cr login
para iniciar sesión en IBM Cloud Container Registry.ibmcloud cr login --client podman
-
Para iniciar sesión utilizando otros clientes, consulte Acceso interactivo a los espacios de nombres.
Si tiene un problema al intentar iniciar sesión, consulte ¿Por qué no puedo iniciar sesión en Container Registry? para obtener ayuda.
-
-
Suba (envíe por push) la imagen al espacio de nombres. Sustituya
MY_NAMESPACE
por el espacio de nombres que ha creado en Configurar un espacio de nombres. SustituyaIMAGE_REPO
yTAG
por el repositorio y la etiqueta de la imagen que ha elegido al etiquetar la imagen. Por ejemplo, en función de la herramienta que esté utilizando, ejecute uno de los mandatos siguientes.-
Si utiliza Docker, ejecute el mandato siguiente.
docker push REGION.icr.io/MY_NAMESPACE/IMAGE_REPO:TAG
Ejemplo, donde
REGION
esuk
,MY_NAMESPACE
esnamespace1
,IMAGE_REPO
eshw_repo
yTAG
es1
:docker push uk.icr.io/namespace1/hw_repo:1
Si tiene algún problema al intentar insertar una imagen de Docker, consulte ¿Por qué no puedo insertar o extraer una imagen de Docker? para obtener ayuda.
-
Si utiliza Podman, ejecute el mandato siguiente.
podman push REGION.icr.io/MY_NAMESPACE/IMAGE_REPO:TAG
Ejemplo, donde
REGION
esuk
,MY_NAMESPACE
esnamespace1
,IMAGE_REPO
eshw_repo
yTAG
es1
:podman push uk.icr.io/namespace1/hw_repo:1
-
Verifique que la imagen se haya enviado
Compruebe que la imagen se ha enviado por push satisfactoriamente ejecutando el siguiente mandato.
ibmcloud cr image-list
Ha configurado un espacio de nombres en IBM Cloud Container Registry y ha enviado la primera imagen al espacio de nombres.
Establecer una pista de auditoría para los cambios en Container Registry
Cree una pista de auditoría para los cambios en Container Registry capturando los eventos de actividad de cada una de las regiones activas de Container Registry. Cree estos eventos de actividad en una o más instancias de IBM Cloud Logs.
Para configurar un registro de auditoría, siga estos pasos:
- Configure IBM Cloud Logs, consulte Introducción a IBM Cloud Logs.
- Configure IBM Cloud Activity Tracker Event Routing, consulte Introducción a IBM Cloud Activity Tracker Event Routing.
- Configure un destino IBM Cloud Logs, consulte Configuración de una instancia IBM Cloud Logs como destino.
Para obtener más información sobre el registro, consulte Acerca de IBM Cloud Logs y Registro para Container Registry.
Para obtener más información sobre los eventos de actividad, consulte Acerca de IBM Cloud Activity Tracker Event Routing y Eventos de seguimiento de actividad para Container Registry.
Supervisar las métricas para Container Registry
Puede crear una instancia de Monitoring en la región que desee supervisar y habilitar métricas de plataforma para ella. De forma alternativa, puede habilitar las métricas de plataforma en una instancia de Monitoring existente en esa región.
Para obtener más información sobre la configuración de métricas, consulte Activación de métricas para Container Registry y Primeros pasos con Monitoring.