如何从 docker 文件中获取环境变量

How can I get the environment variable from docker file

如何从 docker 文件中获取环境变量,例如我正在添加一个

ENV URL_PATH="google.com"

在我的 dockerfile 中,所以我可以在用户定义变量的帮助下在我的 Jmeter.jmx 文件中得到这个 URL_PATH

在 window 上,它在适当的 {__env(URL_PATH)}

下工作正常

但在 docker 上它不起作用。我该如何解决这个问题?

当运行它时,您可以使用-e选项将环境变量传递到容器中。

docker run -e URL_PATH=google.com ...

文档:https://docs.docker.com/engine/reference/run/#env-environment-variables

据我所知__env() is a Custom JMeter Function 因此它在 vanilla JMeter 中不可用 所以选项在:

  1. 修改您的 Dockerfile 以包括下载 http://repo1.maven.org/maven2/kg/apc/jmeter-plugins-functions/2.0/jmeter-plugins-functions-2.0.jar to "lib/ext". This way you will be able to use __env() function in Docker environment normally. See Make Use of Docker with JMeter - Learn How 例如 Docker 配置,假设使用 JMeter 和插件。

  2. 切换到__groovy() function。将出现的所有 {__env(URL_PATH)} 替换为以下表达式:

    ${__groovy(System.getenv('URL_PATH'),)}