我有一个带有 bash 和 python 脚本的 docker 镜像: 1)entrypoint.sh(该脚本运行python文件); 2) 解析器.py
当开发人员运行容器时,他们可以传递带有 MYPREFIX_* 前缀的环境变量。
docker run name -e MYPREFIX_1=true -e MYPREFIX_DEMO=100 ...
有超过 100 个可能的 key ,它们会不时更改(取决于远程配置文件)。
我想将所有变量传递给 bash 脚本,然后再传递给 python 脚本。
我无法在 Dockerfile 中定义所有变量(键可以更改)。我也不能使用 env_file。
有什么建议吗?
入口点内容:
/usr/bin/python3 "/var/hocon-parser.py"
/usr/bin/curl -sLo /var/waves.jar "https://github.com/wavesplatform/Waves/releases/download/v$WAVES_VERSION/waves-all-$WAVES_VERSION.jar"
/usr/bin/java -jar /var/waves.jar /waves-config.conf
最佳答案
问题出在运行命令中。您不能在容器名称后传递环境变量。此命令有效:
docker run -e MYPREFIX_1=true -e MYPREFIX_DEMO=100 ... name
关于python - 在容器内的python脚本中获取所有Docker env变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51640672/