参考) docker-compose で複数環境を構築するときの設定をなるべく DRY に書く - ikasama over technology
ここに書かれてる「修羅の道」をやってしまってた。
DRYに書くには以下の様にするらしい。
- 共通docker-compose.yml(これだけで基本動く様にする)
- 差分環境docker-compose.yml(共通部分の変更したい部分だけのyml。上書きされる)
$ docker-compose -f 共通docker-compose.yml -f 差分環境docker-compose.yml -p 環境名 up -d
最終的にどんな設定になるのかは、 docker-compose config コマンドを使うと見れるとのこと。
$ docker-compose -f 共通docker-compose.yml -f 差分環境docker-compose.yml -p 環境名 config
-pオプション
docker-compose upするとできるコンテナのプレフィックス名を指定できる感じ。
共通環境と差分環境の両方をupしたい場合など、これをそれぞれ別名で指定しないと、衝突して後勝ちになる。