Интерполяция строки JSON из аргумента в Dockerfile - PullRequest
0 голосов
/ 09 января 2019
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 не заменяются аргументами сборки

1 Ответ

0 голосов
/ 11 января 2019

Для начала, пожалуйста, переименуйте свои аргументы, используя подчеркивание:

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