0

イメージの構築を自動化する dockerfile があります。

サーバーとして Digital Ocean に接続された docker cloud を使用しています。

dockerfile 内で、必要なソフトウェアを取得し、python実行したいスクリプトを含む関連する GitHub リポジトリを追加します。次に、cron スケジューラを開始し、適切な時刻でスクリプトを追加します。例: cron_files.txt ファイルは次のようになります。

0 12 * * * /usr/bin/python /home/dir/run_check.py

0 15 * * * /usr/bin/python /home/dir/run_push.py

私の dockerfile では、次のことを行います。

RUN service cron start
RUN service cron status
RUN crontab -u root cron_files.txt

ログ ファイルを見ると、cron が正常に開始されていることがわかります。

編集、r0manarmy のおかげで - docker コンテナー内で cron ジョブを実行するには?

# 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

# Run the command on container startup
CMD cron && tail -f /var/log/cron.log

cron_files.txt上記の例ではなく、上記を編集して crontab ファイルを作成するにはどうすればよいですか?

私はもう試したADD crontab cron_files.txt /etc/cron.d/feeds

しかし、これは次を返します:

ADD crontab cron_files.txt /etc/cron.d/feeds
lstat crontab: no such file or directory

Ps。私は使っているFROM debian:jessie

4

1 に答える 1

0

おそらくcronを次のように設定したいでしょうCMD

これを行うcrondには、たとえばアルパイン Linux でコマンドを使用するだけです。

アイデアについては、次の例をご覧ください。

https://gist.github.com/mhubig/a01276e17496e9fd6648cf426d9ceeec

于 2016-11-21T13:49:23.277 に答える