json - 使用 Docker 环境变量时如何在 Wget HTTP PUT 中使用外部 JSON 文件?
问题描述
现在的情况:
- 基于 Ubuntu 映像的 Dockerfile,安装 Wget 并声明 bashscript 将在容器启动时运行。
Docker 容器基于镜像启动,命令中包含必要的环境变量。这些变量将在 bashscript 的 Wget 命令中使用。
docker run -i -e ‘ENV_VARIABLE=VALUE’ [imagename]
容器运行 bashscript,其中包含 Wget HTTP PUT:
wget --method=PUT --body-data=”{\“key\”:\”${ENV_VARIABLE}\”}” ……
期望的情况:
目前的情况有效,但我不喜欢这种解决方案。这是因为我必须使用引号转义 (\")。
我试图通过如下构造 --body-data 来解决这个问题,并带有单引号。
‘{“key”:”${ENV_VARIABLE}”}’
但是,这不会设置 ENV_VARIABLE,因为有效负载现在是一个完整的字符串。
更可取的解决方案是将 JSON 分离为 JSON 文件,我可以在 Wget 调用中引用该文件。这就产生了以下问题:
- 如何引用 JSON 文件?我最好的猜测是首先将图像构建中的文件复制到图像中,然后通过 Wget 调用中的路径引用它,但话又说回来,我该如何引用它?
- 如果以上几点是正确的,我是否仍然可以参考 Docker 环境变量?
解决方案
推荐阅读
- allure - Allure 2 报告生成 - 没有 Jenkins 或 Maven。是否有一套 API 和文档?
- date - Google Data Studio - 格式化日期 YEAR MONTH (YYYYMM) 不起作用
- vue.js - Vuetify Treeview 只允许子级可选
- python - 如何让 Python 使用正则表达式匹配“x264”
- javascript - 将水平滚动 div 调整为内容
- django - Django - 如何处理持续时间
- javascript - onchange 函数由于某种原因没有运行
- html - 在哪里以及如何在我的 html 页面中放置图片关闭按钮
- python - Python 在几个特定/最新的目录中搜索,而不是全部使用 os.walk
- javascript - 在目标中单击的对象是否有唯一 ID?