Public | Automated Build

Last pushed: 3 days ago
Short Description
Fabric8 Tomcat 9 Image
Full Description

Apache Tomcat 9.0.0.M8

A simple docker build for installing a vanilla Tomcat 9.0.0.M8 below /opt/tomcat. It comes out of the box and is intended for use for integration testing.

During startup a directory specified by the environment variable DEPLOY_DIR (/deployments by default) is checked for .war files. If there are any, they are linked into the webapps/ directory for automatic deployment. This plays nicely with the docker-maven-plugin and its 'assembly' mode which can automatically create Docker data container with Maven artifacts exposed from a directory /deployments.

Agent Bond

For this image Agent Bond is enabled. Agent Bond exports metrics from Jolokia and jmx_exporter.

The agent is installed as /opt/agent-bond/agent-bond.jar and enables the following agents by default:

You can influence the behaviour of agent-bond-opts by setting various environment variables:

Agent-Bond Options

Agent bond itself can be influenced with the following environment variables:

  • AB_OFF : If set disables activation of agent-bond (i.e. echos an empty value). By default, agent-bond is enabled.
  • AB_ENABLED : Comma separated list of sub-agents enabled. Currently allowed values are jolokia and jmx_exporter.
    By default both are enabled.

Jolokia configuration

  • AB_JOLOKIA_CONFIG : If set uses this file (including path) as Jolokia JVM agent properties (as described
    in Jolokia's reference manual).
    By default this is /opt/jolokia/
  • AB_JOLOKIA_HOST : Host address to bind to (Default:
  • AB_JOLOKIA_PORT : Port to use (Default: 8778)
  • AB_JOLOKIA_USER : User for authentication. By default authentication is switched off.
  • AB_JOLOKIA_HTTPS : Switch on secure communication with https. By default self signed server certificates are generated
    if no serverCert configuration is given in AB_JOLOKIA_OPTS
  • AB_JOLOKIA_PASSWORD : Password for authentication. By default authentication is switched off.
  • AB_JOLOKIA_ID : Agent ID to use ($HOSTNAME by default, which is the container id)
  • AB_JOLOKIA_OPTS : Additional options to be appended to the agent opts. They should be given in the format

Some options for integration in various environments:

  • AB_JOLOKIA_AUTH_OPENSHIFT : Switch on client authentication for OpenShift TSL communication. The value of this
    parameter can be a relative distinguished name which must be contained in a presented client certificate. Enabling this
    parameter will automatically switch Jolokia into https communication mode. The default CA cert is set to

jmx_exporter configuration

  • AB_JMX_EXPORTER_OPTS : Configuration to use for jmx_exporter (in the format <port>:<path to config>)
  • AB_JMX_EXPORTER_PORT : Port to use for the JMX Exporter. Default: 9779
  • AB_JMX_EXPORTER_CONFIG : Path to configuration to use for jmx_exporter: Default: /opt/agent-bond/jmx_exporter_config.json


  • Tomcat Version: 9.0.0.M8
  • Java Base Image: jboss/base-jdk:8
  • Port: 8080
  • User admin (Password: admin) has been added to access the admin
    applications /host-manager and /manager)
  • Documentation and examples have been removed
  • Command: /opt/tomcat/bin/ which links .war files from /maven to
    /opt/tomcat/webapps and then calls undefined run
  • Sets for faster startup times
    (though a bit less secure)


You can enable remote debugging by setting JAVA_DEBUG to any value:

  • JAVA_DEBUG If set remote debugging will be switched on
  • JAVA_DEBUG_PORT Port used for remote debugging. Default: 5005
Docker Pull Command
Source Repository