如何从 docker 文件中获取环境变量,例如我正在添加一个
ENV URL_PATH="google.com"
在我的dockerfile
,所以我可以在用户定义变量的帮助下URL_PATH
在我的文件中得到这个。Jmeter.jmx
在窗口上它可以正常工作{__env(URL_PATH)}
但在 docker 上它不起作用。我怎么解决这个问题?
如何从 docker 文件中获取环境变量,例如我正在添加一个
ENV URL_PATH="google.com"
在我的dockerfile
,所以我可以在用户定义变量的帮助下URL_PATH
在我的文件中得到这个。Jmeter.jmx
在窗口上它可以正常工作{__env(URL_PATH)}
但在 docker 上它不起作用。我怎么解决这个问题?
您可以-e
在运行容器时使用该选项将环境变量传递到容器中。
docker run -e URL_PATH=google.com ...
文档:https ://docs.docker.com/engine/reference/run/#env-environment-variables
据我所见__env() 是一个自定义 JMeter 函数,因此它在 vanilla JMeter 中不可用,因此选项位于:
修改你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 一起使用。
切换到__groovy() 函数。将所有出现的 替换{__env(URL_PATH)}
为以下表达式:
${__groovy(System.getenv('URL_PATH'),)}