🖥
docker compose での環境変数切り替えは .env ファイルではなく environment に直接記述した方が分かりやすいんじ
docker compose の例
次のように書いておけば、何かと使いやすい気がする
-
XXX_ENV=yeah docker compose up
のようにコマンドレベルで環境変数指定が出来る - local (ホスト端末) で 環境変数指定なしで
docker compose up
した場合の固定値も指定できる
version: '3.8'
services:
xxx_service:
...
environment:
# docker compose up 実行時に環境変数指定できるもの
# ブレースの中は ${localで指定可能な環境変数名:-無指定の場合の固定値} という記法
- 'XXX_ENV=${XXX_ENV:-foo}'
# docker compose up 実行時に環境変数指定させていない固定値のもの
- 'YYY_ENV=bar'
環境変数ファイルを使う例
.env.development
のように環境変数指定用のファイルを読み込ませておいて、そのファイル自体は gitignore しておく運用を多く見かける
だがこの方法だとファイルの状態によって開発者間で環境の差異が生じたり、どこで環境変数をコントロールしているのかがわかりづらかったり、という欠点がある
version: '3.8'
services:
xxx_service:
...
env_file:
- .env.development
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
プロフィール・経歴
公開日時
2024-07-08
Discussion