Despliegue de cargas de trabajo de aplicaciones desde imágenes en un registro privado
Despliegue la app con Code Engine que utiliza una imagen en un registro privado como, por ejemplo, Docker Hub privado. Puede crear una app 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 Docker Hub, consulte la documentación de Docker Hub.
- Después de crear un registro privado, envíale una imagen.
- 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.
Despliegue de una aplicación que hace referencia a una imagen en un registro privado con la consola
Despliegue una aplicación que utilice una imagen en un registro privado con la consola de Code Engine.
Para poder trabajar con una aplicación de Code Engine que haga referencia a una imagen en un registro privado, primero debe añadir acceso al registro, extraer la imagen y, a continuación, desplegarla.
- Abra la consola de Code Engine.
- Seleccione Vamos.
- Seleccione Aplicación.
- Especifique un nombre para la aplicación; por ejemplo,
helloapp. Utilice un nombre para la aplicación que sea exclusivo dentro del proyecto. - Seleccione un proyecto de la lista de proyectos disponibles. También puede crear uno nuevo. Debe tener un proyecto seleccionado para desplegar una app.
- Seleccione Imagen de contenedor y pulse Configurar imagen.
- Especifique
docker.iopara Servidor de registro. - Para Secreto de registro, seleccione Crear secreto de registro.
- En la página Crear secreto de registro, elija su fuente de registro. Por ejemplo, Docker Hub.
- Especifique un nombre de usuario. Para Docker Hub, es su ID de Docker.
- Especifique la contraseña de . 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.
- Haga clic en Crear para añadir un secreto de registro para Code Engine.
- En la página Configurar imagen, aparece el secreto de registro que se ha añadido. Seleccione el secreto de registro para su imagen.
- Seleccione el espacio de nombres y el nombre de la imagen de Docker Hub a los que debe hacer referencia la app de Code Engine. Por ejemplo, seleccione
mynamespacey seleccione la imagenhello_repoen 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 app.
- Modifique los valores de tiempo de ejecución o las variables de entorno para la app. Para obtener más información sobre estas opciones, consulte Opciones para la visibilidad de puntos finales de aplicaciones y Opciones para desplegar una aplicación.
- Desde la página Crear aplicación, pulse Crear.
- Después de que el estado de la aplicación cambie a Preparado, puede probar la aplicación. Pulse Probar aplicación y, a continuación, pulse Enviar solicitud en el panel Probar aplicación. Para abrir la aplicación en una página web, pulse URL de aplicación.
Ahora que ha desplegado la aplicación, puede ver información sobre las revisiones de la aplicación y las instancias en ejecución y los detalles de configuración.
Si desea añadir acceso de registro antes de crear una app, consulte Adición de acceso a un registro de contenedores privado.
Despliegue de una app con una imagen desde un registro privado desde la CLI
Despliegue una aplicación que utilice una imagen en un registro de contenedores con la CLI con el mandato ibmcloud ce app create.
Antes de empezar
- Configure su entorno de CLI de Code Engine.
- Cree y trabaje con un proyecto.
Para poder trabajar con una aplicación de Code Engine que haga referencia a una imagen en un registro privado, primero debe añadir acceso al registro, extraer la imagen y, a continuación, desplegarla.
-
Para extraer imágenes de un registro privado, primero debe crear un registro privado. Por ejemplo, para crear un registro privado de Docker Hub, consulte la documentación de Docker Hub. Después de crear un registro privado, envíale una imagen. 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 al registro de un Hub Docker llamadoprivatedockerque se encuentra en'https://index.docker.io/v1/'y utiliza su 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 app y haga referencia a la imagen del registro de Docker Hub privado. Por ejemplo, cree la app
myhelloapppara hacer referencia adocker.io/privaterepo/helloworldutilizando la información de acceso deprivatedocker.ibmcloud ce app create --name myhelloapp --image docker.io/privaterepo/helloworld --registry-secret privatedockerEl formato del nombre de la imagen correspondiente a esta aplicación es
REGISTRY/NAMESPACE/REPOSITORY:TAG, dondeREGISTRYyTAGson opcionales. Si no se especificaREGISTRY, el valor predeterminado esdocker.io. Si no se especificaTAG, el valor predeterminado eslatest. -
Después de que se despliegue la app, puede acceder a la misma. Para obtener el URL de su app, ejecute
ibmcloud ce app get --name myhelloapp --output url. Cuando hace curl en la aplicaciónmyhelloapp, se devuelveHello World.curl https://myhelloapp.abcdabcdhye.us-south.codeengine.appdomain.cloud
Próximos pasos
-
Después de desplegar la aplicación, acceda a la aplicación a través de un URL.
-
Puede crear una correlación de dominio personalizado y asignarla a la app. Para obtener más información sobre el despliegue de apps en varias regiones con un nombre de dominio personalizado, consulte Configuración de una aplicación de alta disponibilidad.
-
Ahora que su aplicación está desplegada, considere la posibilidad de hacer que sus aplicaciones estén basadas en eventos. Mediante el uso de suscripciones de sucesos, puede desencadenar las apps mediante planificaciones periódicas o establecer la app para que reaccione ante sucesos como, por ejemplo, cargas de archivos o Kafka.
Después de desplegar la aplicación, puede actualizar la aplicación desplegada y su código referenciado utilizando varias formas, independientemente de cómo haya creado o actualizado previamente la aplicación:
-
Si tienes una imagen de contenedor, según el estándar Open Container Initiative(OCI), entonces sólo necesitas proporcionar una referencia a la imagen, que apunte a la ubicación de tu registro de contenedores cuando despliegues tu aplicación. Puede desplegar la app con una imagen en un registro público o registro privado.
Si ha creado la app utilizando el mandato
app createy ha especificado la opción--build-sourcepara crear la imagen de contenedor desde el origen local o de repositorio, y desea cambiar la app para que apunte a una imagen de contenedor diferente, primero debe eliminar la asociación de la compilación de la app. Por ejemplo, ejecuteibmcloud ce application update -n APP_NAME --build-clear. Después de eliminar la asociación de la compilación de la app, puede actualizar la app 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 desplegar la aplicación 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 Despliegue de la aplicación 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 desplegar la aplicación.
-
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 desplegar la aplicación 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 Despliegue de la aplicación 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 desplegar la aplicación.
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 la aplicación. Una vez que la imagen ha madurado, puede actualizar la aplicación desplegada para que haga referencia a la imagen específica que desee. Puede repetir este proceso según sea necesario.
Cuando despliega la aplicación actualizada, se descarga y se despliega la última versión de la imagen de contenedor referenciada, a menos que se especifique una etiqueta para la imagen. Si se especifica una etiqueta para la imagen, se utiliza la imagen etiquetada para el despliegue.
¿Desea ver más ejemplos de código? Consulte los ejemplos de para IBM Cloud Code Engine GitHub.