Aquesta és una revisió antiga del document —-
Docker Ofelia
Puede funcionar en modo fichero .ini o labels de docker. No los dos a la vez.
Parámetros config.ini
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
`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
`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` |