Public | Automated Build

Last pushed: 9 months ago
Short Description
Automated build of servicemix docker on centos7
Full Description

Apache Servicemix docker image

This version of Servicemix comes with pre-configured modules and bug fixes not in the original load.

This is a Docker image for running
Apache Servicemix,
which is an integration container that unifies the features and functionality of ActiveMQ, Camel, CXF, and Karaf into a powerful runtime platform.

Feel free to contact the servicemix users
for any questions on using


Different licenses apply to files added by different Docker layers:


To try out this image, try:

docker run -p 8101:8081 dskow/apache-servicemix

The Apache Servicemix should then be available at http://localhost:8081/

To expose Servicemix on a different ports, simply modify first part of -p:

docker run -p 1099:8080 -p 8101:8081 -p 8181:8082 -p 61616:8083 -p 36888:8084 -p 44444:8085 dskow/apache-servicemix

To see the automatically generated admin password, see the output from above, or
use docker logs with the name of your container.

Note that the password is only generated on the first run, e.g. when the
volume /servicemix is an empty directory.

You can override the admin-password using the form

docker run -e ADMIN_PASSWORD=pw123 dskow/apache-servicemix

To specify Java settings such as the amount of memory to allocate for the
heap (default: 1200 MiB), set the JVM_ARGS environment with -e:

docker run -e JVM_ARGS=-Xmx2g dskow/apache-servicemix

Data persistence

Servicemix's data is stored in the Docker volume /servicemix within the container.
Note that unless you use docker restart or one of the mechanisms below, data
is lost between each run of the apache-servicemix image.

To store the data in a named Docker volume container servicemix-data
(recommended), create it first as:

docker run --name servicemix-data -v /servicemix busybox

Then start servicemix using --volumes-from. This allows you to later upgrade the
apache-servicemix docker image without losing the data. The command below also uses
-d to start the container in the background.

docker run -d --name servicemix --volumes-from servicemix-data dskow/apache-servicemix

If you want to store servicemix data in a specified location on the host (e.g. for
disk space or speed requirements), specify it using -v:

docker run -d --name servicemix -v /ssd/data/servicemix:/servicemix dskow/apache-servicemix

Note that the /servicemix volume must only be accessed from a single Servicemix
container at a time.

To check the logs for the container you gave --name servicemix, use:

docker logs servicemix

To stop the named container, use:

docker stop servicemix

.. or press Ctrl-C.

To restart a named container (it will remember the volume and port config)

docker restart servicemix

Upgrading Servicemix

If you want to upgrade the Servicemix container named servicemix which use the data
volume servicemix-data as recommended above, do:

docker pull dskow/apache-servicemix
docker stop servicemix
docker rm servicemix
docker run -d --name servicemix --volumes-from servicemix-data dskow/apache-servicemix

Install web console

The default config of servicemix does not come with web console feature. To install it you need to ssh as karak:karak on port 8101

add to ~/.ssh/config

host servicemix
    Hostname <ip of servicemix>
    Port 8101
    User karaf
    Compression yes
    ForwardX11 yes

ssh servicemix
karaf@root>feature:install webconsole

The web console is on http://<hostname>:8181/system/console

Data loading


Recognizing the routes in Servicemix

See Routing with Camel for routing info.

If you loaded into an existing container, Servicemix should find the route after
(re)starting with the same route volume (see Data

docker restart servicemix

If you created a brand new container, then in Servicemix go to Manage routes,
click Add new route, tick Persistent and provide the route name
exactly as provided to, e.g. chembl19.

Now go to Route, select from the dropdown menu, and try out Info and Query.

Tip: It is possible to load a new dataset into the volume of a
running Servicemix server, as long as you don't "create" it in Servicemix before has finished.

Customizing Servicemix configuration

If you need to modify Servicemix's configuration further, you can use the equivalent of:

docker run --volumes-from servicemix-data -it ubuntu bash

and inspect /servicemix with the shell. Remember to restart servicemix afterwards:

docker restart servicemix
Docker Pull Command
Source Repository