Ir al contenido
JelinaJelina DocumentationDocumentación técnica
Volver al sitio oficial

Orquestación de contenedores (Compose)

Cuando una aplicación consta de varios servicios, por ejemplo un servicio de negocio, una base de datos y una cola de mensajes, un archivo de orquestación permite declarar de forma centralizada sus definiciones, dependencias y forma de ejecución. El agente del dispositivo ejecuta toda la orquestación: configuras la versión y el dispositivo la implementa automáticamente, sin operaciones manuales locales.

Declarar la orquestación en una Release (services + programs)
│
▼
El agente sincroniza el estado objetivo ──▶ Descarga imágenes / paquetes ──▶ Crea e inicia servicios ──▶ Supervisa
│ │
│ ▼
└────────────────────────────────── Actualización / reversión ◀──────────────────── Reinicio ante fallo
  • El agente resuelve el orden de inicio y las dependencias de los servicios según la declaración de orquestación;
  • Los servicios se reinician automáticamente tras una salida anómala y se recuperan al reiniciar el dispositivo;
  • Las actualizaciones y reversiones se administran mediante versiones y el agente las ejecuta automáticamente.

El siguiente ejemplo muestra la configuración incluida en una versión. Para consultar todos los campos, véase Compatibilidad y extensiones de docker-compose:

version: "2.4"
services:
app:
image: myapp:1.0.0
restart: always
ports:
- "8080:80"
depends_on:
- db
db:
image: postgres:16
volumes:
- dbdata:/var/lib/postgresql/data
programs:
collector:
command: collector --config /data/collector.conf
restart: on-failure
volumes:
dbdata:

La orquestación se especifica al crear la versión, mediante el editor o cargando un archivo de orquestación. Los paquetes de las aplicaciones, tanto imágenes de contenedor como paquetes nativos, se cargan en los detalles de la versión. Consulta las siguientes guías:

  • Los volúmenes declarados en la orquestación son independientes del ciclo de vida de los contenedores; recrearlos o actualizarlos no afecta a los datos;
  • Se recomienda montar también los datos críticos en la partición de datos del dispositivo.
  • La compatibilidad de orquestación se basa en la especificación 2.x, por lo que los archivos habituales pueden utilizarse directamente;
  • Los campos incorporados en 3.x no están admitidos;
  • Consulta todos los campos y detalles en Compatibilidad y extensiones de docker-compose.