This Camunda BPM community project provides docker images of the latest Camunda BPM platform releases. The images can be used to demonstrate and test the Camunda BPM platform or can be extended with own process applications. It is planned to provide images on the official docker registry for every upcoming release, which includes alpha releases.
Version | Tomcat | JBoss | WildFly |
---|---|---|---|
SNAPSHOT | |||
7.6.0-alpha2 | |||
7.6.0-alpha1 | |||
7.5.0 | |||
7.4.0 | |||
7.3.0 | |||
7.2.0 | |||
7.1.0 |
To start the latest release:
docker pull camunda/camunda-bpm-platform:latest
docker run -d --name camunda -p 8080:8080 camunda/camunda-bpm-platform:latest
# open browser with url: http://localhost:8080/camunda-welcome/index.html
tomcat-7.6.0-SNAPSHOT
,tomcat-SNAPSHOT
,7.6.0-SNAPSHOT
,SNAPSHOT
(Dockerfile)tomcat-7.6.0-alpha2
,tomcat-latest
,7.6.0-alpha2
,latest
(Dockerfile)tomcat-7.6.0-alpha1
,7.6.0-alpha1
(Dockerfile)tomcat-7.5.0
,7.5.0
(Dockerfile)tomcat-7.4.0
,7.4.0
(Dockerfile)tomcat-7.3.0
,7.3.0
(Dockerfile)tomcat-7.2.0
,7.2.0
(Dockerfile)tomcat-7.1.0
,7.1.0
(Dockerfile)jboss-7.6.0-SNAPSHOT
,jboss-SNAPSHOT
(Dockerfile)jboss-7.6.0-alpha2
,jboss-latest
(Dockerfile)jboss-7.6.0-alpha1
(Dockerfile)jboss-7.5.0
(Dockerfile)jboss-7.4.0
(Dockerfile)jboss-7.3.0
(Dockerfile)jboss-7.2.0
(Dockerfile)jboss-7.1.0
(Dockerfile)wildfly-7.6.0-SNAPSHOT
wildfly-SNAPSHOT
(Dockerfile)wildfly-7.6.0-alpha2
,wildfly-latest
(Dockerfile)wildfly-7.6.0-alpha1
(Dockerfile)wildfly-7.5.0
(Dockerfile)wildfly-7.4.0
(Dockerfile)wildfly-7.3.0
(Dockerfile)wildfly-7.2.0
(Dockerfile)
All images have Oracle JDK installed. The tomcat and wildfly image use JDK 8 and the jboss image uses JDK 7.
The used database can be configured by providing the following environment variables:
DB_DRIVER
the database driver class name (Note: use for jboss and wildfly only the database identifierh2
,mysql
orpostgresql
)DB_URL
the database jdbc urlDB_USERNAME
the database usernameDB_PASSWORD
the database passwordSKIP_DB_CONFIG
skips the database configuration
For example to use a postgresql docker image as database you can start the platform as follows:
# start postgresql image with database and user configured
docker run -d --name postgresql ...
docker run -d --name camunda -p 8080:8080 --link postgresql:db \
-e DB_DRIVER=org.postgresql.Driver \
-e DB_URL=jdbc:postgresql://db:5432/process-engine \
-e DB_USERNAME=camunda \
-e DB_PASSWORD=camunda \
camunda/camunda-bpm-platform:latest
Another option is to save the database config to an environment file, i.e.
db-env.txt
:
DB_DRIVER=org.postgresql.Driver
DB_URL=jdbc:postgresql://db:5432/process-engine
DB_USERNAME=camunda
DB_PASSWORD=camunda
and use this file to start the container:
docker run -d --name camunda -p 8080:8080 --link postgresql:db \
--env-file db-env.txt camunda/camunda-bpm-platform:latest
The docker image already contains drivers for h2
, mysql
and postgresql
.
If you want to use other databases you have to add the driver to the container.
To skip the configuration of the database by the docker container and use our
own configuration set the environment variable SKIP_DB_CONFIG
to a non
empty value:
docker run -d --name camunda -p 8080:8080 -e SKIP_DB_CONFIG=true \
camunda/camunda-bpm-platform:latest
The Camunda BPM Platform is installed inside the /camunda
directory. Which
means the tomcat configuration files are inside the /camunda/conf/
directory
and the deployments on tomcat are in /camunda/webapps/
. The directory
structure depends on the application server.
You can use docker volumes to link your own configuration files inside the
container. For example if you want to change the bpm-platform.xml
on tomcat:
docker run -d --name camunda -p 8080:8080 \
-v $PWD/bpm-platform.xml:/camunda/conf/bpm-platform.xml \
camunda/camunda-bpm-platform:latest
If you want to add an own process application to the docker container also use volumes. For example if you want to deploy the twitter demo on tomcat:
docker run -d --name camunda -p 8080:8080 \
-v /PATH/TO/DEMO/twitter.war:/camunda/webapps/twitter.war \
camunda/camunda-bpm-platform:latest
This also allows you to modify the app outside of the container and it will be redeployed inside the platform.
To remove all webapps and examples from the distro and only deploy your own applications or your own configured cockpit also use volumes. You only have to overlay the deployment folder of the application server with a directory on your local machine. So in tomcat you would mount a directory to `/camunda/webapps/'
docker run -d --name camunda -p 8080:8080 \
-v $PWD/webapps/:/camunda/webapps/ \
camunda/camunda-bpm-platform:latest
As we release these docker images on the offical docker registry it is
easy to create your own image. This way you can deploy your applications
with docker or provided an own demo image. Just specify in the FROM
clause which Camunda image you want to use as a base image:
FROM camunda/camunda-bpm-platform:tomcat-latest
ADD my.war /camunda/webapps/my.war
To change the timezone of the docker container you can set the environment variable TZ
.
docker run -d --name camunda -p 8080:8080 \
-e TZ=Europe/Berlin \
camunda/camunda-bpm-platform:latest
Apache License, Version 2.0