【问题标题】:Get all Docker env variables in python script inside a container获取容器内 python 脚本中的所有 Docker 环境变量
【发布时间】:2019-01-09 11:03:55
【问题描述】:

我有 docker 镜像,里面有 bash 和 python 脚本: 1)entrypoint.sh(这个脚本运行python文件); 2)解析器.py

当开发人员运行容器时,他们可以传递带有 MYPREFIX_* 等前缀的环境变量。

docker 运行名称 -e MYPREFIX_1=true -e MYPREFIX_DEMO=100 ...

有超过 100 个可能的键,它们会不时更改(取决于远程配置文件)。

我想将所有变量传递给 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

【问题讨论】:

  • 你检查os.environ是否出现了?
  • 容器没有变量,只有python变量
  • 然后向我们展示入口点脚本。
  • 更新了问题。

标签: python linux docker environment-variables


【解决方案1】:

问题出在运行命令中。您不能在容器名称之后传递环境变量。此命令有效:

docker run -e MYPREFIX_1=true -e MYPREFIX_DEMO=100 ... name 

【讨论】:

    猜你喜欢
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 2017-07-16
    • 2016-12-28
    相关资源
    最近更新 更多