網上多是創建docker鏡像是從jmeter官方下載jmeter的tgz包
今天我們用本地已經下載好的tgz包。
以下是dockerfile
FROM java:8 ENV http_proxy "" ENV https_proxy "" RUN mkdir /jmeter RUN cd /jmeter ENV JMETER_VERSION=5.1.1 ENV JMETER_HOME=/jmeter/apache-jmeter-${JMETER_VERSION} ENV JMETER_PATH=${JMETER_HOME}/bin:${PATH} COPY apache-jmeter-5.1.1.tgz /jmeter RUN cd /jmeter \ && tar xvf apache-jmeter-5.1.1.tgz \ && rm apache-jmeter-5.1.1.tgz
經過一些修改優化過的Dockerfile
FROM java:8 ENV http_proxy "" ENV https_proxy "" RUN mkdir /jmeterdocker RUN mkdir -p /jmeterdocker/test RUN mkdir -p /jmeterdocker/test/input/jmx RUN mkdir -p /jmeterdocker/test/input/testdata RUN mkdir -p /jmeterdocker/test/report/html RUN mkdir -p /jmeterdocker/test/report/jtl RUN mkdir -p /jmeterdocker/test/report/outputdata RUN chmod -R 777 /jmeterdocker ENV JMETER_VERSION=5.1.1 ENV JMETER_HOME=/jmeterdocker/apache-jmeter-${JMETER_VERSION} ENV JMETER_PATH=${JMETER_HOME}/bin:${PATH} ENV PATH=${JMETER_HOME}/bin:${PATH} COPY apache-jmeter-5.1.1.tgz /jmeterdocker RUN cd /jmeterdocker \ && tar xvf apache-jmeter-5.1.1.tgz \ && rm apache-jmeter-5.1.1.tgz
Dockered Jmeter自定義的一些目錄結構
file directory in docker /jmeterdocker /jmeterdocker/test /jmeterdocker/test/input/jmx #jmx測試腳本 /jmeterdocker/test/input/testdata #jmeter的測試數據 /jmeterdocker/test/report/html #jmeter生成的html報告 /jmeterdocker/test/report/jtl #jmeter生成的jtl報告 /jmeterdocker/test/report/outputdata #jmeter生成的csv文件,某些測試用例會生成csv數據文件,這些數據文件會被其它測試用例使用 file directory in host 參照file directory in docker設置即可
啟動dockered jmeter容器
docker run --name="jmeter1" --net="host" -v /tmp/jmeterspace/test/input/jmx:/jmeterdocker/test/input/jmx \ -v /tmp/jmeterspace/test/input/testdata:/jmeterdocker/test/input/testdata \ -v /tmp/jmeterspace/test/report/html:/jmeterdocker/test/report/html \ -v /tmp/jmeterspace/test/report/jtl:/jmeterdocker/test/report/jtl \ -v /tmp/jmeterspace/test/report/outputputdata:/jmeterdocker/test/report/outputdata \ -it -d galaxi/jmeter:v1.1
docker 存在下載鏡像時,最后幾兆死活下載不過來的問題