環境
- windows10
- DockerDesktop for Win 3.5.x
- VsCode
- gitbash 2.32.0.1
ディレクトリ構成
sample
└docker
└docker-compose.yml
└.env
└.env.example
使用方法
- コンテナのポートや、mysqlのパスワード等を環境変数として使用することが多い。以下はコンテナポートの例
- ${}で囲んであげるだけでOK
- docker-compose upでコンテナ起動時に環境変数が展開する
docker-compose.yml
version: "3.8"
services:
frontend:
container_name: frontend
build: ./docker/node
ports:
- ${FRONTEND_PORT}:3000
あらかじめリポジトリなどに.env.exampleを用意し、各自にコピーして.envを作成して、環境変数を設定してもらう
.env
FRONTEND_PORT=8020
....
環境変数が展開された最終的なymlを確認する方法
- 以下コマンドで確認することが可能
- コンテナ起動時とかにエラーが出ている場合は、こちらで確認すると便利
docker-compose config
// ymlファイルとして出力したければこちら
docker-compose config > hoge.yml
以上です。
まとめ
いかがでしたでしょうか。本記事では、docker-compose.ymlで環境変数を使用する方法について紹介しています。各開発者のマシンに依存するポート番号や、パスワード等の秘匿情報の管理をenvで行い、ymlファイルからはその情報を展開するだけで使用可能なので、ぜひ参考にしてみて下さい。