LoginSignup
9
9

More than 5 years have passed since last update.

phusion/baseimage-dockerでcronが動かない問題

Last updated at Posted at 2014-08-12

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を動かすようにして見事解決.

Dockerfile
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

9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9