Al desplegar una aplicación en la consola de SAE, SAE utiliza parámetros de inicio predefinidos para iniciar el contenedor. Puede personalizar el comando de inicio para aplicar configuraciones especiales, como las de Nginx, o anular los parámetros de inicio predeterminados.
Puntos de entrada
El procedimiento varía según el escenario.
Crear una aplicación
Inicie sesión en la consola de SAE. En el panel de navegación izquierdo, seleccione Applications > Applications. Seleccione la región y el namespace objetivo, y luego haga clic en Create Application.
En la página del asistente Basic Information, configure los ajustes obligatorios y haga clic en Next: Advanced Settings.
Modificar una aplicación en ejecución
Después de volver a desplegar una aplicación, esta se reinicia. Para evitar errores impredecibles, como interrupciones del servicio, se recomienda desplegar las aplicaciones fuera del horario pico.
Inicie sesión en la consola de SAE. En el panel de navegación izquierdo, seleccione Applications > Application List. Seleccione la región y el namespace objetivo, y luego haga clic en el nombre de la aplicación deseada.
En la página Basic Information de la aplicación objetivo, haga clic en Deploy Application.
Modificar una aplicación detenida
Inicie sesión en la consola de SAE. En el panel de navegación izquierdo, seleccione Applications > Application List. Seleccione la región y el namespace objetivo, y luego haga clic en el nombre de la aplicación deseada.
En la página Basic Information de la aplicación objetivo, haga clic en Modify Application Configurations.
Configurar el comando de inicio de la aplicación
Imagen
Por lo general, no se requiere un comando de inicio. La instrucción ENTRYPOINT o CMD en el Dockerfile ya define el comando de inicio del contenedor.
Por ejemplo, el siguiente comando del Dockerfile se ejecuta cuando se inicia el contenedor.
ENTRYPOINT [nginx, '-g', 'daemon off;']
Para anular el comando de inicio configurado en el Dockerfile, siga estos pasos:
En la sección Startup Command, seleccione un intérprete de scripts, como >_ /bin/sh o >_ /bin/bash. Asegúrese de que el intérprete elegido exista en su imagen.
-
Configure el comando de inicio del contenedor. El formato es el siguiente:
-
>_ /bin/sh
sh -c 'while true; do echo hello; sleep 10;done' -
>_ /bin/bash
bash -c 'while true; do echo hello; sleep 10;done'
-
Si no está familiarizado con las configuraciones ENTRYPOINT y CMD del Dockerfile original, no personalice el comando de inicio ni sus parámetros. Un comando no válido provocará que falle la creación de la aplicación.
Paquete JAR
Iniciar una aplicación Java requiere un comando de inicio y parámetros, como parámetros de JVM y directivas de GC.
SAE compila automáticamente el paquete JAR cargado en una imagen y lo ejecuta como un contenedor con un comando de inicio integrado, parámetros y ruta del paquete JAR. Puede usar SAE console para modificar el comando de inicio y los parámetros predeterminados.
En la sección Startup Command Settings, introduzca las configuraciones necesarias. A continuación se muestra un ejemplo de comando de inicio.
El comando de inicio predeterminado es $JAVA_HOME/bin/java $Options -jar $CATALINA_OPTS "$package_path" $args.
|
Parámetro |
Descripción |
|
Default Startup Command |
El comando de inicio predeterminado proporcionado por SAE. |
|
Options Settings |
Configure los parámetros de JVM. Para más información, consulte JVM parameter configuration notes, Tuning Java Virtual Machines y JVM Tuning: How to Prepare Your Environment for Performance Tuning. Para habilitar la depuración remota en su aplicación, agregue el comando correspondiente a su versión de JDK.
Los parámetros son los siguientes.
Importante Los comandos de inicio para aplicaciones desplegadas desde paquetes WAR y paquetes JAR son diferentes. No los utilice indistintamente. El comando de depuración remota de este ejemplo aplica a ambos métodos de despliegue. |
|
args Settings |
Configure el comando para redirigir la salida estándar y el error estándar, por ejemplo, |
Paquete WAR
En la sección Startup Command Settings, introduzca las configuraciones necesarias. A continuación se muestra un ejemplo de comando de inicio.
El comando de inicio predeterminado es CATALINA_OPTS="$CATALINA_OPTS $Options" catalina.sh run, donde $Options es un marcador de posición para los parámetros de JVM que especifique en la sección Options Settings. Para evitar errores OOM, se recomienda establecer la memoria heap en un valor menor que la memoria total de la instancia y reservar 1 GB de espacio. Para más información, consulte las mejores prácticas de configuración de JVM.
|
Parámetro |
Descripción |
|
Default Startup Command |
El comando de inicio predeterminado proporcionado por SAE. |
|
Options Settings |
Configure los parámetros de JVM. Para más información, consulte JVM parameter configuration notes, Tuning Java Virtual Machines y JVM Tuning: How to Prepare Your Environment for Performance Tuning. Para habilitar la depuración remota en su aplicación, agregue el comando correspondiente a su versión de JDK.
Los parámetros son los siguientes.
Importante Los comandos de inicio para aplicaciones desplegadas desde paquetes WAR y paquetes JAR son diferentes. No los utilice indistintamente. El comando de depuración remota de este ejemplo aplica a ambos métodos de despliegue. |
Paquete ZIP
En la sección Startup Command, seleccione un intérprete de scripts y configure el comando de inicio del contenedor.
-
>_ /bin/sh
sh -c 'gunicorn -w 3 -b 0.0.0.0:8080 app.hello:app' -
>_ /bin/bash
bash -c 'gunicorn -w 3 -b 0.0.0.0:8080 app.hello:app'