Docker Ofelia

Sustituto de cron para contenedores, puede funcionar en modo fichero .ini o labels de docker. No los dos a la vez.

Parámetros de Control y Notificaciones (Válidos en ambos tipos)

Puedes añadir estos parámetros en cualquier sección para sobrescribir los ajustes globales solo para ese trabajo en concreto:

Parámetro Descripción / Ejemplo
— —
`email-to` Envía los fallos de esta tarea a una dirección específica en lugar de la global. <br><br>`email-to = dev-team@dominio.com`
`no-error-mail` Si se establece en `true`, desactiva el envío de correos si esta tarea falla. <br><br>`no-error-mail = true`
`slack-webhook` Envía alertas de esta tarea a un Webhook de Slack concreto. <br><br>`slack-webhook = [https://hooks.slack.com/](https://hooks.slack.com/)…`
`save-folder` Ruta del host donde Ofelia guardará un archivo de texto con el log completo de la ejecución. <br><br>`save-folder = /var/log/ofelia`
`overlap` Controla si se permite ejecutar la tarea si la anterior ejecución aún no ha terminado. <br><br>`overlap = false` *(por defecto `true`, si se pone `false` omite el inicio hasta que finalice el previo)*

`job-run` crea un contenedor nuevo a partir de una imagen, ejecuta el comando y lo destruye al terminar.

Parámetro Requerido Descripción / Ejemplo
— — —
`schedule` Sí Expresión Cron de 6 campos o sintaxis `@every`. <br><br>`schedule = 0 0 1 * * *` o `@every 1h`
`image` Sí Nombre de la imagen de Docker a utilizar. <br><br>`image = fidmag/python:3.5.3`
`command` Sí Comando o script que ejecutará la imagen. <br><br>`command = python script.py`
`volume` No Rutas o volúmenes a montar. Se puede repetir para múltiples volúmenes. <br><br>`volume = /app/host:/app:ro`
`environment` No Inyecta variables de entorno al contenedor. <br><br>`environment = «VAR1=valor» «VAR2=123»`
`network` No Red de Docker a la que conectar el contenedor efímero. <br><br>`network = mi_red_custom`
`user` No Usuario/UID con el que se ejecuta el proceso dentro del contenedor. <br><br>`user = «1000:1000»` o `user = «www-data»`
`dir` No Directorio de trabajo (*working directory*) dentro del contenedor. <br><br>`dir = /app`
`tty` No Asigna un pseudo-TTY (`true`/`false`). Útil si el comando requiere terminal. <br><br>`tty = true`
`delete-on-completion` No Elimina el contenedor al terminar (equivale a `–rm`). Por defecto es `true`. <br><br>`delete-on-completion = true`

`job-exec` lanza un comando (`docker exec`) dentro de un contenedor que ya está activo en el sistema.

Parámetro Requerido Descripción / Ejemplo
— — —
`schedule` Sí Expresión Cron de 6 campos o sintaxis `@every`. <br><br>`schedule = 0 30 * * * *`
`container` Sí Nombre exacto (`container_name`) o ID del contenedor destino. <br><br>`container = mi_app_python`
`command` Sí Comando a ejecutar dentro del contenedor activo. <br><br>`command = python /app/backup.py`
`user` No Usuario dentro del contenedor con el que ejecutar el comando. <br><br>`user = «root»`
`dir` No Directorio desde el que se ejecutará el comando. <br><br>`dir = /var/www/html`
`tty` No Asigna un pseudo-TTY para la ejecución (`true`/`false`). <br><br>`tty = true`
  • tech/docker/ofelia.txt
  • Darrera modificació: 26/08/2026 15:10
  • per mate