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
...