2

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

ENV URL_PATH="google.com"

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

在窗口上它可以正常工作{__env(URL_PATH)}

但在 docker 上它不起作用。我怎么解决这个问题?

4

2 回答 2

2

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

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

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

于 2018-03-27T07:20:54.403 回答
1

据我所见__env() 是一个自定义 JMeter 函数,因此它在 vanilla JMeter 中不可用,因此选项位于:

  1. 修改你Dockerfile的包括下载http://repo1.maven.org/maven2/kg/apc/jmeter-plugins-functions/2.0/jmeter-plugins-functions-2.0.jar到“lib/ext”。这样你就可以在 Docker 环境中正常使用 __env() 函数了。请参阅Make Use of Docker with JMeter - Learn How例如 Docker configuration 假设将 JMeter 与 Plugins 一起使用。

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

    ${__groovy(System.getenv('URL_PATH'),)} 
    
于 2018-03-27T13:03:44.477 回答