Sign inSign up

krankikom/apache-artemis

By krankikom

•Updated about 5 years ago

Image
0

9.3K

krankikom/apache-artemis repository overview

⁠Ports

  • Webserver: 8161
  • JMX Exporter: 9404
  • Port for CORE,MQTT,AMQP,HORNETQ,STOMP,OPENWIRE: 61616
  • Port for HORNETQ,STOMP: 5445
  • Port for AMQP: 5672
  • Port for MQTT: 1883
  • Port for STOMP: 61613

⁠Metrics

Prometheus Metrics will be exposed on 0.0.0.0:8161/metrics

⁠Environment Variables

Environment variables determine the options sent to artemis create on first execution of the Docker container. The available options are:

ARTEMIS_USER

The administrator username. The default is artemis.

ARTEMIS_PASSWORD

The administrator password. The default is artemis.

ANONYMOUS_LOGIN

Set to true to allow anonymous logins. The default is false.

EXTRA_ARGS

Additional arguments sent to the artemis create command. The default is --http-host 0.0.0.0 --relax-jolokia. Setting this value will override the default. See the documentation on artemis create for available options.

OPTS

Add additional options to the multi broker on port 61616 e.g.: handshake-timeout=60

Final broker creation command:

The combination of the above environment variables results in the docker-run.sh script calling the following command to create the broker instance the first time the Docker container runs:

${ARTEMIS_HOME}/bin/artemis create --user ${ARTEMIS_USER} --password ${ARTEMIS_PASSWORD} --silent ${LOGIN_OPTION} ${EXTRA_ARGS}

Note: LOGIN_OPTION is either --allow-anonymous or --require-login depending on the value of ANONYMOUS_LOGIN.

⁠Mapping point

  • /var/lib/artemis-instance

It's possible to map a folder as the instance broker. This will hold the configuration and the data of the running broker. This is useful for when you want the data persisted outside of a container.

⁠Lifecycle of the execution

A broker instance will be created during the execution of the instance. If you pass a mapped folder for /var/lib/artemis-instance an image will be created or reused depending on the contents of the folder.

⁠Running a CentOS image

The image just created in the previous step allows both stateless or stateful runs. The stateless run is achieved by:

$ docker run --rm -it -p 61616:61616 -p 8161:8161 artemis-centos 

The image will also support mapped folders and mapped ports. To run the image with the instance persisted on the host:

docker run -it -p 61616:61616 -p 8161:8161 -v <broker folder on host>:/var/lib/artemis-instance artemis-centos 

where <broker folder on host> is a folder where the broker instance is supposed to be saved and reused on each run.

Tag summary

Content type

Image

Digest

Size

138.3 MB

Last updated

about 5 years ago

docker pull krankikom/apache-artemis:2.17.0-adoptopenjdk-11