Docker image for Apache JMeter (no more updates since 07/24/2020)
1M+
Apache JMeter : an application designed to load test functional behavior and measure performance - https://jmeter.apache.org
The version number is composed of two version numbers
egaillardon/jmeterFor a Docker image including JMeter plugins, see https://hub.docker.com/r/egaillardon/jmeter-plugins/
Dockerfile linksApache JMeter 5.3 (see changelog below)
latest, 5.3.0-1.0.1 (Dockerfile)5.3.0-1.0.0 (Dockerfile)Apache JMeter 5.2.1 (see changelog below)
5.2.1-1.0.0 (Dockerfile)Apache JMeter 5.2 (see changelog below)
5.2.0-1.0.0 (Dockerfile)Apache JMeter 5.1.1 (see changelog below)
5.1.1-2.0.0 (Dockerfile)5.1.1-1.1.0 (Dockerfile)5.1.1-1.0.0 (Dockerfile)Apache JMeter 5.1 (see changelog below)
5.1.0-1.0.0 (Dockerfile)Apache JMeter 5.0 (see changelog below)
5.0.0-2.1.1 (Dockerfile)5.0.0-2.1.0 (Dockerfile)5.0.0-2.0.0 (Dockerfile)5.0.0-1.2.0 (Dockerfile)5.0.0-1.1.0 (Dockerfile)5.0.0-1.0.0 (Dockerfile)Apache JMeter 4.0 (see changelog below)
4.0.0-2.1.1 (Dockerfile)4.0.0-2.1.0 (Dockerfile)4.0.0-2.0.0 (Dockerfile)4.0.0-1.3.0 (Dockerfile)4.0.0-1.2.0 (Dockerfile)4.0.0-1.1.0 (Dockerfile)4.0.0-1.0.0 (Dockerfile)The working directory defined in the Dockerfile is /jmeter.
The default user is jmeter.
| Variable | Description | Default value |
|---|---|---|
GC_ALGO | Java runtime options to specify JVM garbage collection algorithm | "-XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:G1ReservePercent=20" |
VERBOSE_GC | Java runtime options to generate GC verbose file | "-verbose:gc -Xloggc:gc_jmeter_%p.log -XX:+PrintGCDetails -XX:+PrintGCCause -XX:+PrintTenuringDistribution -XX:+PrintHeapAtGC -XX:+PrintGCApplicationConcurrentTime -XX:+PrintAdaptiveSizePolicy -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDateStamps" |
HEAP | Java runtime options for memory management used when JMeter is started | "-Xms1g -Xmx1g -X:MaxMetaspaceSize=256m" |
JMETER_LANGUAGE | Java runtime options to specify used language | "-Duser.language=en -Duser.region=EN" |
JMETER_OPTS | Java runtime options used when JMeter is started | "" |
JVM_ARGS | Optional java args, e.g. -Dprop=val | "" |
JMETER_GROUP_ID | Set the jmeter user's group id inside the container | 1000 |
JMETER_USER_ID | Set the jmeter user's id inside the container | 1000 |
docker run --interactive --tty --rm --volume `pwd`:/jmeter egaillardon/jmeter --nongui --testfile test.jmx --logfile result.jtl
docker run --detach --rm --volume `pwd`:/jmeter egaillardon/jmeter --nongui --testfile test.jmx --logfile result.jtl
docker run --detach --publish 1099:1099 --rm egaillardon/jmeter -Jserver.rmi.ssl.disable=true -Djava.rmi.server.hostname=192.168.1.1 -Jserver.rmi.localport=1099 --server
docker run --detach --publish 1098:1098 --rm egaillardon/jmeter -Jserver.rmi.ssl.disable=true -Djava.rmi.server.hostname=192.168.1.1 -Jserver.rmi.localport=1098 -Dserver_port=1098 --server
docker run --detach --rm --volume `pwd`:/jmeter egaillardon/jmeter -Jserver.rmi.ssl.disable=true --nongui --testfile test.jmx --remotestart 192.168.1.1 --logfile result.jtl
jmeter -Jserver.rmi.ssl.disable=true --nongui --testfile ../test.jmx --remotestart 192.168.1.1 --logfile result.jtl
docker run --detach --rm --volume `pwd`:/jmeter egaillardon/jmeter -Jserver.rmi.ssl.disable=true --nongui --testfile test.jmx --remotestart 192.168.1.1:1098 --logfile result.jtl
jmeter -Jserver.rmi.ssl.disable=true --nongui --testfile ../test.jmx --remotestart 192.168.1.1:1098 --logfile result.jtl
docker run --detach --rm --volume `pwd`:/jmeter egaillardon/jmeter -Jserver.rmi.ssl.disable=true --nongui --testfile test.jmx --remotestart 192.168.1.1:1098,192.168.1.1:1099 --logfile result.jtl
jmeter -Jserver.rmi.ssl.disable=true --nongui --testfile ../test.jmx --remotestart 192.168.1.1:1098,192.168.1.1:1099 --logfile result.jtl
docker run --detach --rm --volume `pwd`:/jmeter egaillardon/jmeter -Jserver.rmi.ssl.disable=true --nongui --testfile test.jmx --remotestart 192.168.1.1:1098,192.168.1.1:1099 --logfile result.jtl --forceDeleteResultFile --reportatendofloadtests --reportoutputfolder report -Jjmeter.reportgenerator.overall_granularity=10000
docker run --interactive --tty --rm egaillardon/jmeter
--?
print command line options and exit
-h, --help
print usage information and exit
-v, --version
print the version information and exit
-p, --propfile <argument>
the jmeter property file to use
-q, --addprop <argument>
additional JMeter property file(s)
-t, --testfile <argument>
the jmeter test(.jmx) file to run. "-t LAST" will load last
used file
-l, --logfile <argument>
the file to log samples to
-i, --jmeterlogconf <argument>
jmeter logging configuration file (log4j2.xml)
-j, --jmeterlogfile <argument>
jmeter run log file (jmeter.log)
-n, --nongui
run JMeter in nongui mode
-s, --server
run the JMeter server
-E, --proxyScheme <argument>
Set a proxy scheme to use for the proxy server
-H, --proxyHost <argument>
Set a proxy server for JMeter to use
-P, --proxyPort <argument>
Set proxy server port for JMeter to use
-N, --nonProxyHosts <argument>
Set nonproxy host list (e.g. *.apache.org|localhost)
-u, --username <argument>
Set username for proxy server that JMeter is to use
-a, --password <argument>
Set password for proxy server that JMeter is to use
-J, --jmeterproperty <argument>=<value>
Define additional JMeter properties
-G, --globalproperty <argument>=<value>
Define Global properties (sent to servers)
e.g. -Gport=123
or -Gglobal.properties
-D, --systemproperty <argument>=<value>
Define additional system properties
-S, --systemPropertyFile <argument>
additional system property file(s)
-f, --forceDeleteResultFile
force delete existing results files and web report folder if
present before starting the test
-L, --loglevel <argument>=<value>
[category=]level e.g. jorphan=INFO, jmeter.util=DEBUG or com
.example.foo=WARN
-r, --runremote
Start remote servers (as defined in remote_hosts)
-R, --remotestart <argument>
Start these remote servers (overrides remote_hosts)
-d, --homedir <argument>
the jmeter home directory to use
-X, --remoteexit
Exit the remote servers at end of test (non-GUI)
-g, --reportonly <argument>
generate report dashboard only, from a test results file
-e, --reportatendofloadtests
generate report dashboard after load test
-o, --reportoutputfolder <argument>
output folder for report dashboard
Set the JMeter property server.exitaftertest to true.
docker run --detach --publish 1099:1099 --rm egaillardon/jmeter -Jserver.rmi.ssl.disable=true -Djava.rmi.server.hostname=192.168.1.15 -Jserver.rmi.localport=1099 -Jserver.exitaftertest=true --server
Replace relaxed_kilby by your client container id or name.
docker exec -it relaxed_kilby shutdonwn.sh
or
docker exec -it relaxed_kilby stoptest.sh
Set the JMeter property client.rmi.localport (useful when there is a firewall between the client and servers).
docker run --detach --rm --volume `pwd`:/jmeter egaillardon/jmeter -Jserver.rmi.ssl.disable=true -Jclient.rmi.localport=2500 --nongui --testfile test.jmx --remotestart 192.168.1.15:1098,192.168.1.15:1099 --logfile result.jtl
Set the jmeterlogconf option in order to use another log4j2.xml file (see the example file provided)
docker run --detach --publish 1099:1099 --volume `pwd`:/jmeter --rm egaillardon/jmeter -Jserver.rmi.ssl.disable=true -Djava.rmi.server.hostname=192.168.1.15 -Jserver.rmi.localport=1099 -Dserver_port=1099 --server --jmeterlogconf log4j2.xml
jmeter -Jremote_hosts=192.168.1.1 -Jserver.rmi.ssl.disable=true
In distributed testing, SSL for RMI has to be enabled or disabled on both sides. See Apache JMeter Remote Testing for more information.
hostname -I
/sbin/ifconfig eth0 | grep 'inet '| awk '{ print $2}'
ipconfig getifaddr en0
/sbin/ifconfig en0 | grep 'inet '| awk '{ print $2}'
TZ environment variabledocker run --detach --publish 1099:1099 --env TZ=Europe/Paris --rm egaillardon/jmeter
docker run --env JMETER_GROUP_ID=/usr/bin/id -g --env JMETER_USER_ID=/usr/bin/id -u --rm egaillardon/jmeter --server -Jserver.rmi.ssl.disable=true
# allow access from localhost
xhost + 127.0.0.1
docker pull egaillardon/jmeter
docker run -e DISPLAY=host.docker.internal:0 --interactive --tty --rm egaillardon/jmeter jmeter.sh
Apache JMeter 5.3
Apache JMeter 5.2.1
Apache JMeter 5.2
Apache JMeter 5.1.1
Apache JMeter 5.1
Apache JMeter 5.0
jmeter.Apache JMeter 4.0
jmeter.jmeter when running the imageContent type
Image
Digest
Size
184.9 MB
Last updated
over 6 years ago
docker pull egaillardon/jmeter