如何将类似json的环境变量传递给docker run

如何将类似json的环境变量传递给docker run,json,docker,shell,environment-variables,Json,Docker,Shell,Environment Variables,我试图传递这个变量:REGION={'code':44,'name':'grand_est','pretty_name':'grand est'} 要码头工人运行 确切的命令是: docker run \ -e "REGION={'code': 44, 'name': 'grand_est', 'pretty_name': 'Grand Est'}" \ meteocovid 但我得到了一个错误: docker: invalid reference format. 我

我试图传递这个变量:
REGION={'code':44,'name':'grand_est','pretty_name':'grand est'}
码头工人运行

确切的命令是:

docker run \
 -e "REGION={'code': 44, 'name': 'grand_est', 'pretty_name': 'Grand Est'}" \
 meteocovid
但我得到了一个错误:

docker: invalid reference format.
我无法将变量区域拆分为单独的变量,因为docker容器需要这种格式,并且我无法在容器中重建变量

有人有主意吗?

试试这个:

docker run \
 -e REGION="{'code': 44, 'name': 'grand_est', 'pretty_name': 'Grand Est'}" \
 meteocovid

您现在正在传递一个“object”字符串,然后您可以用您使用的任何语言对其进行解析。

您确定您使用了您提到的确切命令吗?正如
docker run-e“REGION={'code':44,'name':'grand_est','pretty_name':'grand est'}debian/bin/bash-c'echo$REGION'
对我有效…只需将base64作为值并在docker映像中处理。@ErikMD,我仔细检查了一下,我有了确切的东西…@JerylCook,它在base64中有效感谢您的想法,但在bash中是IINM,
program foo=“bar…”
program“foo=bar…”
的解析方式完全相同……不是吗?它正在工作,但我必须自定义我在python中使用的json解析器。简单的解决方法是:docker run \-e REGION=“{\'code\”:44、\'name\:\“grand \'u est\”、\'pretty \'u name\:\“grand est\”}\MeteoVid