wheneverを使って定期実行を実装しようとした場合下記のようなコードがヒットしますが、Docker環境だとこのコードではcronがきちんと動かずログにエラーが溜まります。
なぜcronがきちんと動かずにエラーになるかというと
cronがDockerでの環境変数を認識できていないから というのが結論になります
cronはUnix系OSに組み込まれているため、Unix系OS上で Railsアプリケーションを作ってその中でwheneverを使って定期実行を実装しようとするなら、 cronは環境変数を認識できる ため、上記のヒットするコードで実装出来ます
一方でDocker環境でRailsアプリケーションを作った場合、Dockerコンテナは軽量な仮想化環境であり、通常は特定のアプリケーションを実行するために必要最小限の環境を提供するため、Dockerコンテナ内で cronジョブを設定すると cronが環境変数を認識できず エラーになります。
なのでDockerコンテナ内でcronジョブを設定したい場合、wheneverなどのツールで環境変数を明示的に設定する必要があります。
Dockerコンテナ以外でのwhenever
https://study-diary.hatenadiary.jp/entry/2020/10/09/092047
Dockerコンテナでのwhenever