baseimage-dockerって何?ってのは[1]で説明されているので飛ばします。
今回はbaseimage-dockerをベースにDockerfile作ってたらcronが動かなくてハマったのでここで共有しておきます。
結論から言うと/sbin/my_initを動かしていなかったせいでcronが動いていませんでした。
このmy_initはbaseimage-dockerで使われているinitシステムで、pythonで書かれているスクリプト。実行するとbaseimage-dockerの起動スクリプトとかいくつかのサービス(cron含む)を起動し、更には引数に指定したコマンドも実行してくれる。
自分はpostgresqlをbaseimage-docker上で動かそうと思い[3]のDockerfileに従って書いてたら見事にCMDを上書きしてしまい/sbin/my_initが動いていなかった。
[4]で似たような現象に遭遇してる人を見つけ、コメントでmy_init動いてねんじゃね?ってので自分のミスに気がついた。
以下のようにCMDを/sbin/my_initに戻して引数経由でpostgresqlを動かすようにして見事解決.
CMD ["/sbin/my_init", "<postgres動かす為のスクリプト>"]
[1] Docker 初心者は phusion/baseimage-docker を使おう - diaspora
http://blog.kakipo.com/use-phusion-baseimage-docker/
[2] phusion/baseimage-docker - github
https://github.com/phusion/baseimage-docker
[3] Dockerizing a PostgreSQL service
http://docs.docker.com/examples/postgresql_service/
[4] cron deamon not working - phusion/baseimage-docker github
https://github.com/phusion/baseimage-docker/issues/115