DockerでcronしたいときはBusyBox crondが便利
Dockerコンテナでプログラムを定期実行したいとき、それぞれの言語で実装されたタスクスケジューラを使うほか、手っ取り早くcronを使ってしまう方法もあります。しかしDockerで使うにはやや面倒な点があります。 cronで実行するプログラムにコンテナに設定した環境変数を渡したい 環境変数が独立しているのはcronのよくあるハマりどころですね ファイルに書き出して読み込んで、とやるのは面倒 ログは標準出力・標準エラー出力に書き出したい 標準出力に出せばdocker logsで扱えるし、ファイルだとローテートが面倒 このようなとき、BusyBoxに含まれるcrondを使うと、以上の課題を解決してシンプルに定期実行することができます。 ...