Docker images for JMeter 3.2 master and slave configurations
sudo docker run -dit --name slave1 bsmithio/jmeter-slave:latest /bin/bash && \
sudo docker run -dit --name slave2 bsmithio/jmeter-slave:latest /bin/bash && \
sudo docker run -dit --name slave3 bsmithio/jmeter-slave:latest /bin/bash
sudo docker run -dit --name master bsmithio/jmeter-master:latest /bin/bash
sudo docker ps -a
sudo docker inspect --format '{{ .Name }} => {{ .NetworkSettings.IPAddress }}' $(sudo docker ps -a -q)
sudo docker exec -i master sh -c 'cat > /home/jmeter/apache-jmeter-3.2/bin/test.jmx' < test.jmx
sudo docker exec -it master /bin/bash
/home/jmeter/apache-jmeter-3.2/bin/jmeter -n -t \
/home/jmeter/apache-jmeter-3.2/bin/test.jmx \
-Djava.rmi.server.hostname=172.17.0.5 \
-Dclient.rmi.localport=60000 \
-R172.17.0.2,172.17.0.3,172.17.0.4
Port=22 Protocol=tcp Source=0.0.0.0/0
Port=1099 Protocol=tcp Source=0.0.0.0/0
Port=50000 Protocol=tcp Source=0.0.0.0/0
Port=60000 Protocol=tcp Source=0.0.0.0/0
sudo su -
apt-get update
apt-get install docker.io
exit
Where $LOCALIP
should be the public IP address of the host.
sudo docker run -dit -e LOCALIP='(slave1 ip)' -p 1099:1099 -p 50000:50000 bsmithio/jmeter-slave:latest /bin/bash
sudo docker run -dit -e LOCALIP='(slave2 ip)' -p 1099:1099 -p 50000:50000 bsmithio/jmeter-slave:latest /bin/bash
sudo docker run -dit -e LOCALIP='(slave3 ip)' -p 1099:1099 -p 50000:50000 bsmithio/jmeter-slave:latest /bin/bash
sudo docker run -dit --name master -p 60000:60000 bsmithio/jmeter-master:latest /bin/bash
curl https://raw.githubusercontent.com/smithbr/jmeter-docker/master/test.jmx > test.jmx
sudo docker exec -i master sh -c 'cat > /home/jmeter/apache-jmeter-3.2/bin/test.jmx' < test.jmx
sudo docker exec -it master /bin/bash
/home/jmeter/apache-jmeter-3.2/bin/jmeter -n -t \
/home/jmeter/apache-jmeter-3.2/bin/test.jmx \
-Djava.rmi.server.hostname=(master ip) \
-Dclient.rmi.localport=60000 \
-R(slave1 ip),(slave2 ip),(slave3 ip)