Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

385
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda