2017-04-03 2 views
0

を実行されていない、この(私はいくつかのPythonスクリプトをスケジュールしたいと思いますが、それはdebian:jessieドッキングウィンドウのイメージだという理由だけで、私はminicondaを使用しています)Dockerfileのcronタスクは、私が持っている

FROM continuumio/miniconda:4.2.12 

RUN mkdir -p /workspace 
WORKDIR /workspace 
ADD volume . 

RUN apt-get update 
RUN apt-get install -y cron 

ENTRYPOINT ["/bin/sh", "/workspace/conf/entrypoint.sh"] 

スクリプトentrypoint.shドッキングウィンドウのドキュメントに関するsupervisorhttps://docs.docker.com/engine/admin/using_supervisord/)それはオプションをすることができように見えるだけでなく、bashスクリプトから

#!/usr/bin/env bash 

echo ">>> Configuring cron" 
service cron start 
touch /var/log/cron.log 
mv /workspace/conf/root /var/spool/cron/crontabs/root 
chmod +x /var/spool/cron/crontabs/root 
crontab /var/spool/cron/crontabs/root 
echo ">>> Done!" 

tail -f /var/log/cron.log 

:それは生きているコンテナはこの1つである続けますオプション(私の例のように)、それが私がbashスクリプトに行き、スーパーバイザーを無視することに決めた理由です。私はHello world: $(date +%H:%M:%S)毎分が追加ことを確認する方法を見つけることができません

* * * * * root echo "Hello world: $(date +%H:%M:%S)" >> /var/log/cron.log 2>&1 

(空行\nとして底に付き):

とcronの詳細/workspace/conf/rootの内容はこれです/var/log/cron.logに、私にはcron/crontabの設定はすべて正しいです。私は、コンテナのログをチェックすると

私が見ることができます:私は何をやっている

[email protected]:/workspace# ps aux 
USER  PID %CPU %MEM VSZ RSS TTY  STAT START TIME COMMAND 
root   1 0.0 0.0 4336 1580 ?  Ss+ 13:06 0:00 /bin/sh /workspace/conf/entrypoint.sh 
root   14 0.0 0.0 27592 2096 ?  Ss 13:06 0:00 /usr/sbin/cron 
root   36 0.0 0.0 5956 740 ?  S+ 13:06 0:00 tail -f /var/log/cron.log 
root  108 0.5 0.1 21948 3692 ?  Ss 13:14 0:00 bash 
root  114 0.0 0.1 19188 2416 ?  R+ 13:14 0:00 ps aux 

>>> Configuring cron 
[ ok ] Starting periodic command scheduler: cron. 
>>> Done! 

をまた、実行中のコンテナにログインするとき、私はcronデーモンが実行さを見ることができます違う?

+0

Dockerは「ステロイド剤による治療」です。 1つのプロセスと同じように。仮想マシンではありません。あなたは 'cron'デーモンタスクを手渡すために' init'や 'systemd'を走らせることはできません。 –

+0

[Docker:Cronjobが動作していません]の複製があります(http://stackoverflow.com/questions/24943982/docker-cronjob-is-not-working) –

+0

ドッカーのドキュメント「supervisor」については、オプションと 'bash'スクリプトオプション(私の例のように)は、私がbashスクリプトに行き、'監督者 'を無視することに決めた理由です。私はなぜbashスクリプトが間違っているのか分からない。また、そのbashスクリプトの 'service cron start'行を' cron'行に置き換えてみましたが、成功しませんでした。 – TPPZ

答えて

0

Cronjobに実行権がありますか?

chmod 0644 /var/spool/cron/crontabs/root 
関連する問題