Después de crear la imagen de docker, inicio sesión e intento configurar un trabajo cron para realizar pruebas. Para mi sorpresa, cron y crontab no están presentes.
# ls app bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var# crontab -l/bin/sh: 6: crontab: not found# crontab -l/bin/sh: 7: crontab: not found# crontab -l/bin/sh: 10: crontab: not found# cron/bin/sh: 11: cron: not found
Pero espero cron para estar presente en una imagen de Ubuntu. ¿Elegí una imagen incorrecta o hay algo que deba hacer para habilitar cron?
Las imágenes de Docker son mínimas por diseño y se utilizan para crear contenedores, no un sistema operativo completo. Un contenedor está aislando la ejecución de una aplicación, por lo que no tendrá todos los demás demonios del sistema operativo ejecutándose dentro de ese entorno, como cron, syslog, mail, etc., de forma predeterminada.
dentro de su Dockerfile. Sin embargo, para ejecutar las entradas de crontab, también debe iniciar el demonio cron como parte del proceso de inicio de su contenedor. Existen herramientas como forego y supervisord que puede usar para ejecutar múltiples procesos en su contenedor (cron más su aplicación), pero hacerlo a menudo es el signo de un antipatrón.
@MezganiAli` which crontab ’ confirma que no está instalado. Creo que lo instalaré. No encontré este problema al instalar ubuntu normalmente en VM o PC real. Así que no estoy seguro de por qué falta