環境変数は設定されているような状態で,VAR1=$VAR1 みたいな設定は冗長だなと思っていたら,
いい感じにできそうだった
$ make
docker compose run --rm app
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=5ef67e50e0bb
TERM=xterm
HOME=/root
env XXX=yyy docker compose run -e XXX --rm app
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=ca8d5914553f
TERM=xterm
XXX=yyy
HOME=/root
env XXX=yyy docker compose run -e XXX --rm appenv
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=1981ac8e49d0
TERM=xterm
XXX=yyy
HOME=/root
sources
compose.yml
services:
app:
image: alpine
command: env
appenv:
image: alpine
command: env
env_file: .env
Makefile
default: run env-run appenv-run
run:
docker compose run --rm app
env-run:
env XXX=yyy docker compose run -e XXX --rm app
appenv-run:
env XXX=yyy docker compose run -e XXX --rm appenv
Refs