Crear un trabajo a partir de imágenes en un registro privado
Cree un trabajo que utilice una imagen de un registro privado, como por ejemplo Docker Hub privado. Puede crear un trabajo desde la consola o con la CLI.
Antes de empezar
- Para extraer imágenes de un registro privado, primero debe crear un registro privado. Por ejemplo, para crear un registro privado de Hub en Docker, consulta la documentación de Hub en Docker.
- Una vez que hayas creado un registro privado, sube una imagen a él.
- También puede configurar una señal de acceso. Si utiliza una señal de acceso, puede otorgar y revocar más fácilmente el acceso a su cuenta de Docker Hub sin requerir un cambio de contraseña. Para obtener más información sobre los tokens de acceso y Docker Hub, consulte Crear y administrar tokens de acceso.
Creación de un trabajo que haga referencia a una imagen en un registro privado con la consola
Cree una configuración de trabajo que utilice una imagen de un registro privado con la consola de Code Engine.
Para poder utilizar un trabajo de Code Engine que haga referencia a una imagen en un registro privado, primero debe añadir acceso al registro para que Code Engine pueda extraer la imagen cuando se ejecute el trabajo.
- Abra la consola de Code Engine.
- Selecciona « Empezar a crear ».
- Seleccione un proyecto de la lista de proyectos disponibles. También puede crear uno nuevo. Tenga en cuenta que debe tener un proyecto seleccionado para crear un trabajo.
- Seleccione Trabajo.
- Especifique un nombre para el trabajo; por ejemplo,
myjob. - Selecciona « Usar una imagen de contenedor existente » y haz clic en « Configurar imagen ».
- Especifique
docker.iopara Servidor de registro. - En « Secreto de registro », selecciona « Crear secreto de registro ».
- En la página «Crear secreto de registro», selecciona tu origen de registro. Por ejemplo, Docker Hub.
- En la página «Crear secreto de registro», introduce un nombre de usuario. Para Docker Hub, es su ID de Docker.
- En la página «Crear secreto de registro», introduce el token de acceso. Para Docker Hub, puede utilizar la contraseña de Docker Hub o una señal de acceso. Para obtener más información sobre los tokens de acceso y Docker Hub, consulte Crear y administrar tokens de acceso.
- Haz clic en «Crear» para añadir la clave de registro de Code Engine.
- En la página «Configurar imagen» aparece el secreto del registro que se ha añadido. Selecciona el secreto de registro correspondiente a tu imagen.
- Seleccione el espacio de nombres y el nombre de la imagen de Docker Hub a los que debe hacer referencia el trabajo de Code Engine. Por ejemplo, seleccione
mynamespacey seleccione la imagentestjoben dicho espacio de nombres. - Seleccione un valor para la Etiqueta; por ejemplo,
latest. - Pulse Listo. Ha seleccionado la imagen del registro a la que se hará referencia en su trabajo.
- Modifique los valores predeterminados para las variables de entorno o los valores de tiempo de ejecución. Para obtener más información, consulte Opciones para crear y ejecutar un trabajo.
- En la página Crear trabajo, pulse Crear.
- Tras crear el trabajo, se abre la página del trabajo específico. En la página de trabajo, pulse Enviar trabajo para enviar un trabajo basado en la configuración actual.
Para añadir acceso de registro antes de crear una configuración de trabajo, consulte Acceso a registros de contenedores.
Creación de un trabajo con una imagen desde un registro privado desde la CLI
Para crear una configuración de trabajo con una imagen de un registro privado con la CLI, utilice el mandato job create. Este mandato requiere un nombre y una imagen y también permite otros argumentos opcionales.
Para ver una lista completa de opciones, consulte el mandato ibmcloud ce job create.
Antes de empezar
- Configure su entorno de CLI de Code Engine.
- Cree y trabaje con un proyecto.
- Para poder trabajar con un trabajo de Code Engine que haga referencia a una imagen de un registro privado, primero debe añadir acceso al registro, extraer la imagen y luego crear la configuración del trabajo.
-
Para extraer imágenes de un registro privado, primero debe crear un registro privado. Por ejemplo, para crear un registro privado de Hub en Docker, consulta la documentación de Hub en Docker. Una vez que hayas creado un registro privado, sube una imagen a él. También puede configurar una señal de acceso. Si utiliza una señal de acceso, puede otorgar y revocar más fácilmente el acceso a su cuenta de Docker Hub sin requerir un cambio de contraseña. Para obtener más información sobre los tokens de acceso y Docker Hub, consulte Crear y administrar tokens de acceso.
-
Añada acceso a su registro privado para extraer imágenes. Para añadir acceso a un registro privado con la CLI, utilice el mandato
ibmcloud ce secret create --format registrypara crear un secreto de registro. Por ejemplo, el siguiente comando crea un acceso en el Registro a un registro de Docker Hub denominado «privatedocker», que se encuentra enhttps://index.docker.io/v1/, y utiliza tu nombre de usuario y contraseña.ibmcloud ce secret create --format registry --name privatedocker --server https://index.docker.io/v1/ --username <Docker_User_Name> --password <Password>Salida de ejemplo
Creating registry secret 'privatedocker'... OK -
Cree la configuración del trabajo y haga referencia a la imagen del registro de Docker Hub privado. Por ejemplo, cree la configuración del trabajo
mytestjobpara hacer referencia adocker.io/privaterepo/testjobutilizando la información de acceso deprivatedocker.ibmcloud ce job create --name mytestjob --image docker.io/privaterepo/testjob --registry-secret privatedocker
El formato del nombre de la imagen correspondiente a este trabajo es REGISTRY/NAMESPACE/REPOSITORY:TAG, donde REGISTRY y TAG son opcionales. Si no se especifica REGISTRY, el valor predeterminado
es docker.io. Si no se especifica TAG, el valor predeterminado es latest.
Próximos pasos
-
Después de crear el trabajo, envíelo para ejecutarlo. Consulte Ejecución de un trabajo. Puede ejecutar el trabajo varias veces.
-
Después de ejecutar el trabajo, para ver los detalles del trabajo y las ejecuciones del trabajo, consulte Detalles de trabajo.
-
Ahora que se ha creado el trabajo, se recomienda que los trabajos estén controlados por sucesos. Con las suscripciones de sucesos, puede desencadenar los trabajos utilizando planificaciones periódicas o establecer el trabajo para que reaccione a sucesos como las cargas de archivos.
-
Puede actualizar el trabajo y su código referenciado de varias formas, independientemente de cómo haya creado o actualizado el trabajo con anterioridad.
-
Si dispones de una imagen de contenedor que cumpla con el estándar de la Open Container Initiative(OCI), solo tendrás que proporcionar una referencia a dicha imagen, que apunte a la ubicación de tu registro de contenedores, al crear (o actualizar) tu trabajo. Puedes crear (o actualizar) tu trabajo a partir de imágenes de un registro público o privado y, a continuación, acceder a la imagen a la que se hace referencia desde la ejecución de tu trabajo.
Si ha creado el trabajo utilizando el mandato
job createy ha especificado la opción--build-sourcepara crear la imagen de contenedor desde el origen local o de repositorio, y desea cambiar el trabajo para que apunte a una imagen de contenedor diferente, primero debe eliminar la asociación de la compilación del trabajo. Por ejemplo, ejecuteibmcloud ce job update -n JOB_NAME --build-clear. Después de eliminar la asociación de la compilación del trabajo, puede actualizar el trabajo para que haga referencia a una imagen diferente. -
Si está empezando con un código fuente que reside en un repositorio de Git, puede dejar que Code Engine se encargue de compilar la imagen desde el código fuente y crear (o actualizar) el trabajo con una única operación. En este caso de ejemplo, Code Engine carga la imagen en IBM Cloud® Container Registry. Para obtener más información, consulte Creación de un trabajo a partir del código fuente del repositorio. Si desea tener más control sobre la compilación de la imagen, puede elegir compilar la imagen con Code Engine antes de crear (o actualizar) el trabajo y ejecutarlo.
-
Si está empezando con un código fuente que reside en una estación de trabajo local, puede dejar que Code Engine se encargue de compilar la imagen desde el código fuente y crear el trabajo con un único mandato de CLI. En este caso de ejemplo, Code Engine carga la imagen en IBM Cloud® Container Registry. Para obtener más información, consulte Creación del trabajo a partir del código fuente local con la CLI. Si desea tener más control sobre la compilación de la imagen, puede elegir compilar la imagen con Code Engine antes de crear (o actualizar) el trabajo y ejecutarlo.
Por ejemplo, puede dejar que Code Engine maneje la compilación del código fuente local mientras avanza en el desarrollo del código fuente para el trabajo. Una vez que la imagen ha madurado, puede actualizar el trabajo para que haga referencia a la imagen específica que desee. Puede repetir este proceso según sea necesario.
Cuando ejecuta el trabajo actualizado, se utiliza la última versión de la imagen de contenedor referenciada para la ejecución del trabajo, a menos que se especifique una etiqueta para la imagen. Si se especifica una etiqueta para la imagen, se utiliza la imagen etiquetada para la ejecución del trabajo.
-
¿Desea ver más ejemplos de código? Echa un vistazo a Ejemplos para el repositorio « IBM Cloud Code Engine GitHub ».