Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

391
Views
Ejecutando cron en un contenedor docker en un host de Windows

Tengo algunos problemas al intentar crear un contenedor que ejecute un cronjob. Puedo ver cron ejecutándose usando top en el contenedor, pero no escribe en el archivo de registro como lo intenta el siguiente ejemplo. El archivo permanece vacío.

He leído las respuestas a la misma pregunta aquí:

  • ¿Cómo ejecutar un trabajo cron dentro de un contenedor docker?
  • La salida de `tail -f` al final de un docker CMD no se muestra

Pero no pude hacer que ninguna de las sugerencias funcionara. Por ejemplo, utilicé el dockerfile de aquí: https://github.com/Ekito/docker-cron/

 FROM ubuntu:latest MAINTAINER docker@ekito.fr # Add crontab file in the cron directory ADD crontab /etc/cron.d/hello-cron # Give execution rights on the cron job RUN chmod 0644 /etc/cron.d/hello-cron # Create the log file to be able to run tail RUN touch /var/log/cron.log #Install Cron RUN apt-get update RUN apt-get -y install cron # Run the command on container startup CMD cron && tail -f /var/log/cron.log

crontab:

 * * * * * root echo "Hello world" >> /var/log/cron.log 2>&1 # Don't remove the empty line at the end of this file. It is required to run the cron job

No funcionó en mi máquina (Windows 10). Aparentemente, parece haber un problema específico de Windows también informado por otra persona: https://github.com/Ekito/docker-cron/issues/3

Para probar si solo yo estaba haciendo algo mal, traté de hacer lo mismo en una máquina virtual que ejecuta ubuntu (por lo tanto, un host de ubuntu en lugar de mi host de Windows) y funcionó como se esperaba. El archivo de registro se amplía como se esperaba.

Entonces, ¿qué puedo hacer para intentar que esto funcione?

Intenté escribir en una carpeta montada (enlazar) y crear un volumen para escribir. Ninguno funcionó.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

La respuesta de rferalli sobre el problema de github me funcionó:

"Tuve el mismo problema. Se solucionó cambiando el final de línea del archivo crontab de CRLF a LF. ¡Espero que esto ayude!"

over 4 years ago · Santiago Trujillo Report

0

Tengo este problema también. Mi solución es usar el Programador de tareas para ejecutar un archivo .bat que inicie un contenedor en su lugar

Uso del Programador de tareas : https://active-directory-wp.com/docs/Usage/How_to_add_a_cron_job_on_Windows.html


hola.murciélago

 docker run hello-world

Acción del programador de tareas

 cmd /c hello.bat >> hello.log 2>&1

Espero que esto ayude :)

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!