ラッパーシェルスクリプトを使用してcronデーモンを実行することで、crontabファイルの先頭にシステム環境変数を追加することができます。次の例では、Dockerfile
COPY my_cron /tmp/my_cron
COPY bin/run-crond.sh run-crond.sh
RUN chmod -v +x /run-crond.sh
CMD ["/run-crond.sh"]
ではCentOSの7、
からですrun_cron.sh:
#!/bin/bash
# prepend application environment variables to crontab
env | egrep '^MY_VAR' | cat - /tmp/my_cron > /etc/cron.d/my_cron
# Run cron deamon
# -m off : sending mail is off
# tail makes the output to cron.log viewable with the $(docker logs container_id) command
/usr/sbin/crond -m off && tail -f /var/log/cron.log
これはどこかの偉大なブログ記事に基づいていますが、私は、リンクを失っています。
この投稿は質問http://stackoverflow.com/questions/26822067/running-cron-python-jobs-within-dockerに答えるように見えます – user2915097