docker-compose で環境変数を使用するにはどうすればいいですか? 質問する

docker-compose で環境変数を使用するにはどうすればいいですか? 質問する

docker-compose.yml内で環境変数を使用し、その値を の時点で渡せるようにしたいと思いますdocker-compose up。これがその例です。

今日は、自分のスクリプトをラップした基本コマンドを使ってこれを実行していますdocker run。このような bash ラッパーを使わずに、compose でこれを実現する方法はありますか?

proxy:
  hostname: $hostname
  volumes:
    - /mnt/data/logs/$hostname:/logs
    - /mnt/data/$hostname:/data

ベストアンサー1

docker-composeは現在ネイティブサポートしているようですファイル内のデフォルトの環境変数

必要なのは、 という名前のファイルで変数を宣言することだけです。そうすると、それらはdocker-compose.yml.envで使用できるようになります。

たとえば、次の.env内容を含むファイルの場合:

MY_SECRET_KEY=SOME_SECRET
IMAGE_NAME=docker_image

内部の変数にアクセスしdocker-compose.ymlたり、コンテナに転送したりできます。

my-service:
  image: ${IMAGE_NAME}
  environment:
    MY_SECRET_KEY: ${MY_SECRET_KEY}

おすすめ記事