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}