This repository contains a Dockerfile
for building a docker image containing the levigo jadice server.
It is provided "as is", see LICENSE.md.
The image is based on openjdk:11.0.8-jre-buster.
- You need version 5.8.0.0 or newer of the jadice server distribution to use jadice server in a docker container with Java 11. For more information on how to get the jadice server distribution visit jadice.com.
- docker-engine 17.06 or newer is required for building and running the Image.
- docker-compose version 1.16.0 or newer for the use of docker-compose.yml.
- For running jadice-server with Java 8 you can checkout the branch java8. This requires version 5.5 or newer of the jadice server distribution.
- Copy the jadice server distribution zip into the resources directory.
- Apply customization if needed (see Configuration)
- Run:
docker build -t=<image-name> .
docker run -p 61616:61616 <image-name>
jadice server evaluates the following environment variables during start.
spring.profiles.active
- active features for jadice server (see also<jadice-server-dir>/server-config/application/active-features.xml
)jadice.server.activemq-host
- set the Apache ActiveMQ broker host (by default jadice server starts its own broker on localhost)
In order to customize the configuration of jadice server you need to copy your existing configuration into the subfolder customization
. The docker build will copy all files into the directory <jadice-server-dir>/
inside the container.
There are two ways to access the logs from jadice server:
- mount an extra volume for log files
- use the docker logging driver
jadice server writes logs by default to <jadice-server-dir>/logs
. To access the log files, mount some directory from the host and jadice server will write the files in the host's file system.
docker run -v <host-path>:/opt/jadice-server/logs <images-name>
Also the logs are available over the docker logs functionality.
The docker-compose.yml
shows an example implementation of the Compose file for jadice server.
The docker-compose file defines three services:
- js-amq - a jadice server instance with only the embedded-broker activated
- js-convert - a convert instance of jadice server
- js-webservice - the webservice entrypoint
docker-compose.yml uses the environment variables to configure the active features for jadice server instances. All three services connect together over the js-amq instance. To submit jobs to the jadice server you can either use the webservice interface or the default JMS interface. Both submit jobs to the JMS request queue which is consumed by the js-convert instance.