Docker image for ActiveMQ version 5.14.5.
Please refer to the ActiveMQ Documentation for more in-depth information.
As a quick example this will bring up an instance of ActiveMQ, and allow you to
log into the WebConsole on http://localhost:8161
as the user admin
with
the password password
.
docker run --rm -ti -p 8161:8161 islandora/activemq
N.B. if no credentials are given you will not be able to log in via the WebConsole.
Requires islandora/java
docker image to build. Please refer to the
Java Image README for additional information including
additional settings, volumes, ports, etc.
Port | Description |
---|---|
1883 | MQTT |
5672 | AMPQ |
8161 | WebConsole |
61613 | STOMP |
61614 | WS |
61616 | OpenWire |
Path | Description |
---|---|
/opt/activemq/data | AMQ Message Store |
Environment Variable | Etcd Key | Default | Description |
---|---|---|---|
ACTIVEMQ_USER | /activemq/user | admin | See Security: credentials.properties |
ACTIVEMQ_PASSWORD | /activemq/password | password | See Security: credentials.properties |
ACTIVEMQ_WEB_ADMIN_NAME | /activemq/web/admin/name | admin | See WebConsole: jetty-realm.properties |
ACTIVEMQ_WEB_ADMIN_PASSWORD | /activemq/web/admin/password | password | See WebConsole: jetty-realm.properties |
ACTIVEMQ_WEB_ADMIN_ROLES | /activemq/web/admin/roles | admin | See WebConsole: jetty-realm.properties |
ACTIVEMQ_WEB_HOST | /activemq/web/host | 127.0.0.1 | Host the admin console will bind to, use 0.0.0.0 for any |
ACTIVEMQ_WEB_PORT | /activemq/web/iport | 8161 | Admin console port |
ACTIVEMQ_REDELIVERY_MAX_ATTEMPTS | /activemq/redelivery/max/attempts | 1 | Total number of attempts to redeliver a message before routing it to the DLQ |
ACTIVEMQ_REDELIVERY_INITIAL_DELAY_MS | /activemq/redelivery/initial/delay/ms | 60000 | Delay before attempting the first redelivery |
ACTIVEMQ_REDELIVERY_DELAY_MS | /activemq/redelivery/delay/ms | 60000 | Delay between subsequent redelivery attempts |
ACTIVEMQ_DLQ_EXPIRATION_MS | /activemq/dlq/expiration/ms | 604800000 | Lifetime of a message in the DLQ, after which it is deleted |
ACTIVEMQ_DLQ_PROCESS_EXPIRED | /activemq/dlq/process/expired | true | Whether undelivered, expired messages are routed to the DLQ. If 'true', undelivered, expired messages will be sent to the DLQ and kept for ${ACTIVEMQ_DLQ_EXPIRATION_MS} milliseconds before being deleted. If 'false', undelivered, expired messages will be deleted, bypassing the DLQ. |
ACTIVEMQ_DLQ_PROCESS_NON_PERSISTENT | /activemq/dlq/process/non/persistent | true | Whether undelivered, non-persistent are routed to the DLQ. If 'true', undeliverable, non-persistent messages will be routed to the DLQ and kept for ${ACTIVEMQ_DLQ_EXPIRATION_MS} milliseconds before being deleted. If 'false', undeliverable, non-persistent messages will be deleted. |
ACTIVEMQ_SYSTEM_USAGE_JVM_HEAP_PERCENTAGE | /system/usage/jvm/heap/percent | 70 | |
ACTIVEMQ_SYSTEM_USAGE_DURABLE_STORAGE_LIMIT | /system/usage/durable/storage/limit | 100 gb |
|
ACTIVEMQ_SYSTEM_USAGE_TEMP_STORAGE_LIMIT | /system/usage/temp/storage/limit | 18 gb |
Additional users/groups/etc can be defined by adding more environment variables, following the above conventions:
Environment Variable | Etcd Key | Description |
---|---|---|
ACTIVEMQ_USER_{USER}_NAME | /activemq/user/{USER}/name | See Security: users.properties |
ACTIVEMQ_USER_{USER}_PASSWORD | /activemq/user/{USER}/password | See Security: users.properties |
ACTIVEMQ_GROUP_{GROUP}_NAME | /activemq/group/{GROUP}/name | See Security: groups.properties |
ACTIVEMQ_GROUP_{GROUP}_MEMBERS | /activemq/group/{GROUP}/members | See Security: groups.properties |
ACTIVEMQ_WEB_USER_{USER}_NAME | /activemq/web/user/{USER}/name | See WebConsole: jetty-realm.properties |
ACTIVEMQ_WEB_USER_{USER}_PASSWORD | /activemq/web/user/{USER}/password | See WebConsole: jetty-realm.properties |
ACTIVEMQ_WEB_USER_{USER}_ROLES | /activemq/web/user/{USER}/roles | See WebConsole: jetty-realm.properties |
N.B. These do not have defaults.
For example to add a new user someone
to the WebConsole you would need to
define the following:
Environment Variable | Etcd Key | Value |
---|---|---|
ACTIVEMQ_WEB_USER_SOMEONE_NAME | /activemq/web/user/someone/name | someone |
ACTIVEMQ_WEB_USER_SOMEONE_PASSWORD | /activemq/web/user/someone/password | password |
ACTIVEMQ_WEB_USER_SOMEONE_ROLES | /activemq/web/user/someone/roles | admin |
Path | Description |
---|---|
STDOUT | ActiveMQ Log |
/opt/activemq/data/activemq.log | ActiveMQ Log |
/opt/activemq/data/audit.log | Audit Log |