是的,可以,但是您需要使用build参数作为标志。您可以使用Shell的参数扩展功能来检查条件。这是概念验证的Docker文件:
FROM debian:stableARG BUILD_DEVELOPMENT# if --build-arg BUILD_DEVELOPMENT=1, set NODE_ENV to 'development' or set to null otherwise.ENV NODE_ENV=${BUILD_DEVELOPMENT:+development}# if NODE_ENV is null, set it to 'production' (or leave as is otherwise).ENV NODE_ENV=${NODE_ENV:-production}测试版本:
docker build --rm -t env_prod ./...docker run -it env_prod bashroot@2a2c93f80ad3:/# echo $NODE_ENV productionroot@2a2c93f80ad3:/# exitdocker build --rm -t env_dev --build-arg BUILD_DEVELOPMENT=1 ./...docker run -it env_dev bashroot@2db6d7931f34:/# echo $NODE_ENVdevelopment



