来自 Dockerfile 中参数的 JSON 字符串插值

标签 json dockerfile string-interpolation

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-keyconsumer-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/

相关文章:

docker - 如何在 Docker 容器上配置环境变量而不将其硬编码到 Dockerfile 中?

postgresql - 我的 postgresql 容器 docker 上的远程控制可以工作,但看不到表创建

python - 该命令返回了一个非零代码:2 docker

python - "executes"是一个 f-string 的内部函数的名称是什么?

javascript - formik 中的嵌套字段数组

python - Python 3.6+ 中是否有格式化的字节字符串文字?

java - 如何知道mysql表中数据被更新(即数据删除、修改或插入),从而更新java中的json对象

jquery ajax post 数据类型 : 'JSON' works on Android but fails on iPhone4

sql - 从 Postgres JSONB 字段中选择缺失值

json - 我的登录身份验证有问题