如何从 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 中不可用 所以选项在:
修改您的 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 和插件。
切换到__groovy() function。将出现的所有 {__env(URL_PATH)}
替换为以下表达式:
${__groovy(System.getenv('URL_PATH'),)}
如何从 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 中不可用 所以选项在:
修改您的
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 和插件。切换到__groovy() function。将出现的所有
{__env(URL_PATH)}
替换为以下表达式:${__groovy(System.getenv('URL_PATH'),)}