1. jmeter基础镜像
- 通过下载jmeter工具包,构建基础镜像包;
- 通过基础镜像包构建master和slave镜像,从而保证jmeter版本一致
.
├── jmbase
│ └── Dockerfile
├── jmmaster
│ ├── baidu.jmx
│ ├── demo.csv
│ └── Dockerfile
└── jmslave
├── demo.csv
└── Dockerfile
FROM openjdk:8-jre-slim
LABEL maintainer='zy'
LABEL description='jmeter-5.4.3 base'
ARG JMETER_VERSION=5.4.3
RUN apt-get clean && \
apt-get update && \
apt-get -qy install \
wget
RUN mkdir /jmeter \
&& cd /jmeter/ \
&& wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-$JMETER_VERSION.tgz \
&& tar -xzf apache-jmeter-$JMETER_VERSION.tgz \
&& rm apache-jmeter-$JMETER_VERSION.tgz
ENV JMETER_HOME=/jmeter/apache-jmeter-${JMETER_VERSION}
ENV JMETER_PATH=${JMETER_HOME}/bin:${PATH}
ENV PATH=${JMETER_HOME}/bin:${PATH}
WORKDIR /jmeter/apache-jmeter-$JMETER_VERSION/bin
docker build -t zyanwei2011/jmeter:5.4.3 .
sudo docker login --username=zyanw******@163.com registry.cn-hangzhou.aliyuncs.com
docker tag 8be16888492b registry.cn-hangzhou.aliyuncs.com/zyan******/jmeter:5.4.3
docker push registry.cn-hangzhou.aliyuncs.com/zyan******/jmeter:5.4.3
2. slave镜像
FROM registry.cn-hangzhou.aliyuncs.com/zyanwei2011/jmeter:5.4.3
LABEL maintainer='zy'
LABEL description='jmslave'
EXPOSE 1099 50000
ENTRYPOINT $JMETER_HOME/bin/jmeter-server \
-Dserver.rmi.localport=50000 \
-Dserver_port=1099 \
-Dserver.rmi.ssl.disable=true
cd jmslave && docker build -t jmslave .
1.4 master镜像
FROM jmbase
LABEL maintainer='zy'
LABEL description='jmmaster'
EXPOSE 60000
cd jmmaster && docker build -t jmmaster .
2. 压测运行
2.1 容器运行
sudo docker run -d --name jms1 jmslave /bin/bash
sudo docker run -d --name jms2 jmslave /bin/bash
sudo docker run -itd --name jmmaster jmmaster /bin/bash
2.2 查看节点ip
docker inspect --format '{{ .Name }} => {{ .NetworkSettings.IPAddress }}' $( docker ps -a -q)| grep jm