Jmeter镜像

# 基础继承镜像
FROM alpine:latest
# 作者
LABEL MAINTAINER azure
@环境变量
ARG JMETER_VERSION=5.4.1

#定义时区参数变量
ENV TZ=Asia/Shanghai

RUN apk update && \
    apk upgrade && \
    apk add --update openjdk8-jre wget tar bash && \
    mkdir /jmeter  && cd /jmeter/ && \
    # 下载并解压jmeter
    wget https://mirrors.tuna.tsinghua.edu.cn/apache/jmeter/binaries/apache-jmeter-${JMETER_VERSION}.tgz && \
    tar -xzf apache-jmeter-$JMETER_VERSION.tgz  && rm apache-jmeter-$JMETER_VERSION.tgz  && \
    cd /jmeter/apache-jmeter-$JMETER_VERSION/ && \
    # 下载并安装JMeter插件
    wget -q -O /tmp/JMeterPlugins-Standard-1.4.0.zip https://jmeter-plugins.org/downloads/file/JMeterPlugins-Standard-1.4.0.zip && unzip -n /tmp/JMeterPlugins-Standard-1.4.0.zip && rm /tmp/JMeterPlugins-Standard-1.4.0.zip && \
    wget -q -O /jmeter/apache-jmeter-$JMETER_VERSION/lib/ext/pepper-box-1.0.jar https://github.com/raladev/load/blob/master/JARs/pepper-box-1.0.jar?raw=true && \
    cd /jmeter/apache-jmeter-$JMETER_VERSION/ && \
    wget -q -O /tmp/bzm-parallel-0.7.zip https://jmeter-plugins.org/files/packages/bzm-parallel-0.7.zip && \unzip -n /tmp/bzm-parallel-0.7.zip && rm /tmp/bzm-parallel-0.7.zip && \
    # 设置时区
    ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo "$TZ" > /etc/timezone
# 设置Jmeter的安装目录为家目录
ENV JMETER_HOME /jmeter/apache-jmeter-$JMETER_VERSION/
# 将jmeter可执行文件添加到环境变量
ENV PATH $JMETER_HOME/bin:$PATH
# 添加JMeter 主配置文件
ADD jmeter.properties $JMETER_HOME/bin/jmeter.properties

构建推送拉取

  • docker build -f dockerfile -t $你的dockerhub用户名/docker-jmeter:v1.0 .
  • docker push $你的dockerhub用户名/docker-jmeter:v1.0
  • docker pull $你的dockerhub用户名>/docker-jmeter:v1.0

Jmeter镜像添加插件

  • 有时候我们需要为jmeter镜像添加一些插件,那么有以下几种方法
  1. copy插件包到镜像中
  2. 重新构造镜像
  3. 选取拥有jmeter插件的jmeter镜像,DockerHub上面去找
  • 下面我们使用第二种方式自定义Jmeter镜像
FROM docker-jmeter:v1.0
# 作者
LABEL MAINTAINER azure
# 提前准备好插件包上传到服务器,使用ADD命令添加至镜像中
ADD jmeter-plugins/lib /jmeter/apache-jmeter-$JMETER_VERSION/lib
# 也可以直接删掉重新换个Jmeter
COPY apache-jmeter-5.4.1 /jmeter/apache-jmeter-5.4.1/

构建推送拉取

  • docker build -f dockerfile -t $你的dockerhub用户名/docker-jmeter:v2.0 .
  • docker push $你的dockerhub用户名/docker-jmeter:v2.0
  • docker pull $你的dockerhub用户名>/docker-jmeter:v2.0