ARG consumer-key
ARG consumer-secret
ENV COMPOSER_AUTH '{ "bitbucket-oauth": { "bitbucket.org": { "consumer-key": "${consumer-key}", "consumer-secret": "${consumer-secret}" } } }'
docker build \
--build-arg consumer-key=test \
--build-arg consumer-secret=test \
.
consumer-key
和 consumer-secret
的值不会替换为构建参数
最佳答案
首先,请使用下划线重命名您的参数:
ARG consumer_key
ARG consumer_secret
然后,在参数变量周围使用单引号将它们正确插入到字符串中:
ENV COMPOSER_AUTH '{ "bitbucket-oauth": { "bitbucket.org": { "consumer-key": "'$consumer_key'", "consumer-secret": "'$consumer_secret'" } } }'
最后,相应地更改您的docker build命令:
docker build \
--build-arg consumer_key=test \
--build-arg consumer_secret=test \
.
关于来自 Dockerfile 中参数的 JSON 字符串插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54106881/