docker build時とdocker run時の環境変数は別
circleci/config.ymlや.envで与えている環境変数はdocker runのときに使われます。これらは設定しないとbuild時は読み込みません。
設定方法
config/initialize/*.confの環境変数にデフォルト値を設定するか
code: ruby
ENV.fetch("S3_REGION") {"ap-northeast-1"}
Dockerでは、 挙動を変えたい部分 はとりあえず環境変数化し、 デフォルト値を設定するようにする癖をつけておき ましょう。 entrykit など環境変数を設定するための補助ツールも充実しています。
山田 明憲. Docker/Kubernetes 実践コンテナ開発入門 (Kindle の位置No.3530-3531). 株式会社技術評論社. Kindle 版.
上書きしたい場合はさらにARG命令で指定して、 dockerコマンドの--build-argsオプションで与える イメージに秘匿情報をいれないほうがよいとされているので、AWS_ACCESS_KEY等はダミーの値を指定します。