A simple docker build for installing a vanilla Tomcat 6.0.44 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
(/maven 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 from
https://github.com/rhuss/docker-maven-plugin/ and its 'assembly' mode which
can automatically create Docker data container with Maven artifacts
exposed from a directory /maven.
For this image Agent Bond is enabled. Agent Bond exports metrics from Jolokia and jmx_exporter.
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
andjmx_exporter
. By default both are enabled.
- 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/jolokia.properties
. - AB_JOLOKIA_HOST : Host address to bind to (Default:
0.0.0.0
) - 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 inAB_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 "key=value,key=value,..."
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
/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
- 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
Features:
- Tomcat Version: 6.0.44
- Base image: fabric8/java-centos-openjdk8-jre:1.0.0
- 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/deploy-and-run.sh
which links .war files from /maven to /opt/tomcat/webapps and then callsundefined run
- Sets
-Djava.security.egd=file:/dev/./urandom
for faster startup times (though a bit less secure)