定期的に再起動しているDocker上のRailsコンテナが、稀に起動失敗する。
Dockerが原因かと思い色々調べたが、ごく簡単な理由でした。
原因
logディレクトリがgitignoreされていた。
unicornの起動にはパスまでのディレクトリが予め存在していないといけないため注意。
通常はrake db:migrate
する際にlogディレクトリも生成されるためたまたま起動に成功していたが、
何らかの理由でスキップされるとunicornの実行時にコケる。
対処
log/.keep
を作ってgitignoreを以下の様ににする。
(デフォルトでこれになっているはずなんだけど、何故か別の設定で上書きされていた)
.gitignore
/log/*
!/log/.keep
.dockerignore
もある場合はlogディレクトリが消されていないか確認しておく。
ちゃんちゃん