docker-composeで実行環境の変数をコンテナに展開する方法
結論
https://docs.docker.com/compose/environment-variables/#pass-environment-variables-to-containers
docker-compse.yamlのenvironmentに、実行環境の環境変数と同じキーをバリューなしで書く
環境
$docker --version Docker version 19.03.8, build afacb8b
検証
1. Dockerfile, docker-compose.yamlを書く
Dockerfile
FROM node:alpine ENV TEST_ENV $TEST_ENV RUN printenv
docker-compose.yaml
version: "3" services: test: build: . environment: - TEST_ENV tty: yes
2. 実行環境に環境変数を登録
$export TEST_ENV=test_env $echo $TEST_ENV test_env
3. コマンド実行
$docker-compose build $docker-compose up -d $docker-compose exec test ash -c "printenv" ... TEST_ENV=test_env ...