Masayan tech blog.

  1. ブログ記事一覧>
  2. docker-compose.ymlで環境変数を使用する方法

docker-compose.ymlで環境変数を使用する方法

公開日

環境

  • 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ファイルからはその情報を展開するだけで使用可能なので、ぜひ参考にしてみて下さい。