Estou tentando executar um contêiner docker com código python e crontab (agendador) abaixo está meu script:
Arquivo Docker
FROM ubuntu:latest
MAINTAINER [email protected]
RUN apt-get update && apt-get install -y software-properties-common && apt-get install -y python cron vim
# Copy hello-cron file to the cron.d directory
COPY my-crontab /etc/cron.d/my-crontab
# Give execution rights on the cron job
RUN chmod 0644 /etc/cron.d/my-crontab
ADD config.py /
ADD index.py /
RUN chmod a+x config.py index.py
# Apply cron job
RUN crontab /etc/cron.d/my-crontab
# Create the log file to be able to run tail
RUN touch /var/log/cron.log
# Run the command on container startup
#CMD cron && tail -f /var/log/cron.log
CMD ["cron", "-f"]
Meu crontab
*/2 * * * * /index.py > /dev/console
Quando eu crio o arquivo docker e executo o código, ele não responde nada. Alguém pode sugerir como modificar o arquivo docker para executar o script?
Responder1
Você pode tentar entrar no container usando 'docker container exec -it 'container-id' bash' e a partir daí tentar executar o script python, verificando desta forma se funciona ou não.
A partir daí, existem vários cenários, depende do tipo de shebang que você inseriu no script (por exemplo, '#!/usr/bin/env python', '#!/usr/bin/python', etc.), qual versão do python está instalada no contêiner e para qual versão o script foi escrito, etc. Sem mais informações, não pode ser de maior ajuda.