ローカル環境用の設定をdocker-compose.override.ymlに書く
以前、docker-composeでmysqlの検証環境を作った。
この時はdocker-compose.yml内にポート設定を直接書いていたが、
例えば複数人で開発をする際に各自で異なるポート番号を利用したい場合、docker-compose.override.ymlが使える。
override.ymlに記述した設定はdocker-compose up時に自動で読み込まれ、該当の設定が上書きされる。
# docker-compose.yml
version: "3"
services:
datastore:
image: busybox
volumes:
- db_data:/var/lib/mysql
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: pass
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
例: コンテナの3306ポートをローカルの3307ポートに割り当てたい場合
# docker-compose.override.yml
version: "3"
services:
db:
ports:
- 3307:3306
docker-compose.override.yml自体は.gitignoreに追加してリポジトリ管理対象からは外し、docker-compose.override.yml.sampleをコミットしておく。
あとは各自の初期構築時にコピーして利用する。
cp docker-compose.override.yml.sample docker-compose.override.yml