Public | Automated Build

Last pushed: a year ago
Short Description
ActiveMQ with (remote) JMX
Full Description


Unable to find an ActiveMQ docker that allows for remote JMX access I created one based on the Dockerfile from rmohr/activemq.

To run the container:

docker run -p 61616:61616 -p 8161:8161 -p 1099:1099 antonw/activemq-jmx

Environment Variabes

Name Default Value
ACTIVEMQ_BASE /opt/activemq
ACTIVEMQ_CONF /opt/activemq/conf
ACTIVEMQ_DATA /var/activemq/data

The default configuration allows for remote JMX access if the JMX client runs on localhost and localhost is also the docker host.

If the docker host is a virtual machine or the JMX client does not run on localhost then ACTIVEMQ_RMI_SERVER_HOSTNAME must be set to the externally accessible IP address of the ActiveMQ server, for example:

docker run -e ACTIVEMQ_RMI_SERVER_HOSTNAME='' -p 61616:61616 -p 8161:8161 -p 1099:1099 antonw/activemq-jmx

Port Map

Port Protocol
8161 HTTP (WEB UI)
5672 AMQP
61613 STOMP
1883 MQTT
61614 WS
1099 JMX


activemq-cli is a command-line utility I developed to interact with a Apache JMX enabled ActiveMQ message broker. Check out GitHub for more information.

Assuming both the activemq-cli utility and the activemq-jmx docker are running on localhost, below is the configuration that will allow activemq-cli to connect to the ActiveMQ broker.

broker {
    local {
        amqurl = "tcp://localhost:61616"
        jmxurl = "service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi"
        username = "amq"
        password = "amq"
        prompt-color = "light-blue" 
Docker Pull Command