- Visión general de Jelina
- JelinaOS
- Gestión de aplicaciones
Aplicaciones en contenedores
JelinaOS incorpora un entorno completo de ejecución de contenedores, Docker, pero su implementación sigue un principio común: se administran mediante versiones (Release), en lugar de ejecutar contenedores manualmente en cada dispositivo. Para producción, se recomienda utilizar el proceso de versiones en todas las aplicaciones: definición, implementación, supervisión, actualización y reversión bajo un control integral.
Proceso de implementación (recomendado)
Sección titulada «Proceso de implementación (recomendado)»Crear y publicar imagen → Declarar aplicación en contenedor en una Release → Desplegar en el dispositivo → El agente descarga y ejecutaPaso 1: preparar la imagen
Sección titulada «Paso 1: preparar la imagen»Compila la aplicación como imagen de contenedor y envíala a un registro privado de la empresa o a un registro público:
docker build -t registry.example.com/myapp:1.0.0 .docker push registry.example.com/myapp:1.0.0Paso 2: declararla en una versión
Sección titulada «Paso 2: declararla en una versión»Crea una versión en JelinaCloud y añade la aplicación en contenedor:
- Especifica la dirección de la imagen y su etiqueta de versión; utiliza una versión explícita para evitar actualizaciones inesperadas;
- Configura las variables de entorno, la asignación de puertos y los volúmenes;
- Configura la política de reinicio, preferiblemente
always, y los límites de recursos.
Paso 3: implementar
Sección titulada «Paso 3: implementar»Implementa la versión en la flota o el dispositivo de destino. El agente realiza automáticamente las siguientes tareas:
- Descarga la imagen y crea el contenedor;
- Aplica las variables de entorno, las asignaciones de puertos y los montajes de volúmenes definidos;
- Inicia el contenedor y lo supervisa continuamente, reiniciándolo tras fallos y recuperándolo al reiniciar el dispositivo.
Persistencia de datos
Sección titulada «Persistencia de datos»El sistema de archivos del contenedor se pierde cuando este se vuelve a crear. Monta en la partición de datos la información que deba conservarse:
- Declara volúmenes para la aplicación en la versión o monta directorios de la partición de datos del dispositivo;
- Los datos son independientes del ciclo de vida del contenedor y no se ven afectados por actualizaciones o recreaciones.
Consulta y diagnóstico
Sección titulada «Consulta y diagnóstico»Los comandos de Docker en el dispositivo se utilizan para consulta y diagnóstico, no para administrar implementaciones:
docker ps # Consultar el estado del contenedordocker logs <nombre-del-contenedor> # Consultar registros del contenedordocker events # Seguir eventos del contenedor para diagnósticoRecomendaciones para producción
Sección titulada «Recomendaciones para producción»- Fijar versiones: utiliza etiquetas explícitas de versión de las imágenes;
- Comprobaciones de estado: configura comprobaciones de estado de los servicios y combínalas con políticas de reinicio para recuperarlos automáticamente;
- Límites de recursos: establece límites de memoria y CPU para evitar que un contenedor afecte al conjunto del dispositivo;
- Registro privado: utiliza registros privados en entornos empresariales; el agente gestiona de forma centralizada la distribución de imágenes;
- Actualización y reversión: actualiza publicando una nueva versión y revierte seleccionando de nuevo la anterior; la nube organiza ambos procesos.
Preguntas frecuentes
Sección titulada «Preguntas frecuentes»¿Puedo implementar una aplicación ejecutando docker run directamente en el dispositivo? Técnicamente es posible, pero no se recomienda: una aplicación iniciada directamente queda fuera del sistema de versiones y no dispone de supervisión, actualización y reversión unificadas. En producción, impleméntala mediante una versión.
¿Qué ocurre si un contenedor termina de forma inesperada?
Si la versión configura restart: always, el agente reinicia automáticamente la aplicación tras una salida anómala.
Documentación relacionada
Sección titulada «Documentación relacionada»- Administración de aplicaciones — descripción del sistema de versiones
- Orquestación de contenedores (Compose) — orquestación de aplicaciones con varios contenedores
- Implementación de aplicaciones desde la nube y OTA — proceso de publicación y actualización