alpine linuxでcron用コンテナを作る

  • 20
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

やりたいこと

alpine linuxでcron用のコンテナを作りたい

環境

  • docker 1.10.2
  • Alpine linux 3.3.1

やり方

  • /var/spool/cron/crontabs/rootにcronの設定を書き込む
* * * * * echo "Hello"
  • crondをフォアグラウンドで起動
crond -l 2 -f

以上。

  • ワンライナーで実行したり
$ docker run -it alpine sh -c "echo '* * * * * echo foobar' > /var/spool/cron/crontabs/root && crond -l 2 -f"

crond[9]: crond (busybox 1.24.1) started, log level 2
crond[9]: user:root entry:* * * * * echo foobar
crond[9]: wakeup dt=40
crond[9]: file root:
crond[9]:  line echo foobar
crond[9]:  job: 0 echo foobar
crond[10]: child running /bin/sh
crond[9]: USER root pid  10 cmd echo foobar
foobar
crond[9]: wakeup dt=10
crond[9]: wakeup dt=50
crond[9]: file root:
crond[9]:  line echo foobar
crond[9]:  job: 0 echo foobar
crond[11]: child running /bin/sh
crond[9]: USER root pid  11 cmd echo foobar
foobar

まとめ

alpine自体超軽量なのでcron程度の用途でも気軽に1コンテナ1プロセスを実現出来ていい感じ。