Docker is becoming a reference to build, ship and run container-based applications. It provides an standard, easy and automated way to deploy your applications.
Since latest 6.2.0.Final community release you can use Docker to deploy and run your Drools & jBPM applications in an easy and friendly way. Do not worry about operation system, environment and/or application server provisioning and deployments ... just use the applications!
The images are already available at Docker Hub:
- Drools Workbench
- Drools Workbench Showcase
- KIE Execution Server
- KIE Execution Server Showcase
- jBPM Workbench
- jBPM Workbench Showcase
Please refer to next "Drools & jBPM community Docker images" section for more information about what's contained in each image.
Why are these images helpful for me and my company?
To understand the advantages of using these Docker images, let's do a quick comparison with the deployment process for a manual installation of a Drools Workbench application.
If you do it by yourself:
- Install and prepare a Java runtime environment
- Download the workbench war (and other resources if necessary), from the official home page or from JBoss Nexus
- Download and prepare a JBoss WildFly server instance
- Configure the WildFly instance, including for example configuring the security subsystem etc.
- Deploy Drools into the WildFly instance
- Start the application server and run your Drools application
As you can notice, manual installation already takes quite a few steps. While this process can be automated in some way (as the jbpm-installer for example does), some questions arise at this point ... What if I need a more complex environment? Are other colleagues using the same software versions and configuration? Can I replicate exact same environment? Could someone else easily run my local example easily during a customer demo? And if I need to deploy several identical runtime environments? What about removing my local installation from my computer? ...
Software containers & Docker are a possible solution and help providing an answer to some of these questions.
Both Drools & jBPM community Docker images include:
- The OpenJDK JRE 1.7 environment
- A JBoss WildFly 8.1.0.Final application server
- Our web-based applications (Drools Workbench, KIE server and/or jBPM Workbench) ready to run (configurations and deployments already present)
You don't have to worry about the Java environment, the application server, the web applications or configuration ... just run the application using a single command:
docker run -p 8080:8080 -d --name drools-wb jboss/drools-workbench-showcase:6.2.0.Final
Once finished, just remove it:
docker stop ...
At this point, you can customize, replicate and distribute the applications! Learn more about Docker, its advantages and how to use it at the offical site.
The environment you need
Do not worry about Java environments, application servers or database management systems, just install Docker:
# For RHEL/Fedora based distributions:
sudo yum -y install docker
More installation information at the official Docker documentation.
Are you using Windows?
For windows users, in order to use Docker, you have to install Boot2Docker. It provides a Linux basic environment where Docker can run. Please refer to the official documentation for the Docker installation on Windows platforms.
You are ready to run!
Drools & jBPM community Docker images
For the 6.2.0.Final community release six Docker images have been released. They can be categorized in two main groups: Base images provide the base software with no custom configurations. They are intended to be extended and customized by Docker users. Showcase images provide
applications that are ready to run out-of-the-box (including for
example some standard configuration). Just run and use it! Ideal for demos or evaluations / getting started.
- Base images
- Drools Workbench
- KIE Execution Server
- jBPM Workbench
- Showcase images
- Drools Workbench Showcase
- KIE Execution Server Showcase
- jBPM Workbench Showcase
Let's dive into a detailed description of each image in the following sections.
Drools Workbench
This image provides the standalone Drools web authoring and rules management application for version 6.2.0.Final. It does not include any custom configuration, it just provides a clean Drools Workbench application running in JBoss WildFly 8.1. The goal of this image is to provide the base software and allow users to extend it, and apply custom configurations and build custom images.
Fetch the image into your Docker host:
docker pull jboss/drools-workbench:6.2.0.Final
Customize the image by creating your Dockerfiles:
FROM jboss/drools-workbench:6.2.0.Final
...
Please refer to Appendix C for extending this image.
Please refer to Appendix C for extending this image.
Run a Drools Workbench container:
docker run -p 8080:8080 -d --name drools-wb jboss/drools-workbench:6.2.0.Final
Navigate to your Drools Workbench at:
http://localhost:8080/drools-wb # Linux users
http://<boot2docker_ip>:8080/drools-wb # Windows users
Refer to Appendix A for more information about IP address and port bindings.
http://<boot2docker_ip>:8080/drools-wb # Windows users
Refer to Appendix A for more information about IP address and port bindings.
This image provides the standalone Drools web authoring and rules management application for version 6.2.0.Final plus security configuration and some examples.
Tip: This image inherits from the Drools Workbench one and adds custom configurations for WildFly security subsystem (security realms) and system properties for enabling the use of the examples repository.The goal for this image is to provide a ready to run Drools Workbench application: just pull, run and use the Workbench.
1. Pull the image:
docker pull jboss/drools-workbench-showcase:6.2.0.Final
2. Run the image:
docker run -p 8080:8080 -d --name drools-wb-showcase jboss/drools-workbench-showcase:6.2.0.Final
3. Navigate to the workbench at:
http://localhost:8080/drools-wb # Linux users
http://<boot2docker_ip>:8080/drools-wb # Windows users
Refer to Appendix A for more information about IP address and port bindings.
You can use admin/admin for default logging in - Refer to Appendix B for default users and roles included
KIE Execution server
This image provides the standalone rules execution component for version 6.2.0.Final, to handle rules via remote interfaces.
More information for the KIE Execution Server can be found at the official documentation.
This image does not include any custom configuration, it just provides a clean KIE Execution Server application running in JBoss WildFly 8.1. The goal for this image is to provide the base software and let the users to extend it, and apply custom configurations and build custom images.
Fetch the image into your Docker host:
docker pull jboss/kie-server:6.2.0.Final
Customize the image by creating your Dockerfiles:
FROM jboss/kie-server:6.2.0.Final
...
Please refer to Appendix C for extending this image.
Please refer to Appendix C for extending this image.
Run a KIE Execution Server container:
docker run -p 8080:8080 -d --name kie-server jboss/kie-server:6.2.0.Final
The KIE Execution Server is located at:
http://localhost:8080/kie-server # Linux users
http://<boot2docker_ip>:8080/kie-server # Windows users
Refer to Appendix A for more information about IP address and port bindings.
http://<boot2docker_ip>:8080/kie-server # Windows users
Refer to Appendix A for more information about IP address and port bindings.
Example: use the remote REST API to perform server requests :
http://localhost:8080/kie-server/services/rest/server # Linux
http://<boot2docker_ip>:8080/kie-server/services/rest/server # Win
http://<boot2docker_ip>:8080/kie-server/services/rest/server # Win
KIE Execution Server Showcase
See it in Docker Hub
This image provides the standalone rules execution component version 6.2.0.Final to handle rules via remote interfaces plus a basic security configuration (include a default user and role).
More information for the KIE Execution Server can be found at the official documentation.
Tip: This image inherits from the KIE Execution Server one and adds custom configuration for WildFly security subsystem (security realms).
The goal of this image is to provide a ready to run KIE Execution Server: just pull, run and use the remote services.
1. Pull the image:
docker pull jboss/kie-server-showcase:6.2.0.Final
2. Run the image:
docker run -p 8080:8080 -d --name kie-server-showcase jboss/kie-server-showcase:6.2.0.Final
3. The server is located at:
http://localhost:8080/kie-server # Linux users
http://<boot2docker_ip>:8080/kie-server # Windows users
The REST API service is located at:
http://localhost:8080/kie-server/services/rest/server # Linux
http://<boot2docker_ip>:8080/kie-server/services/rest/server # Win
Refer to Appendix A for more information about IP address and port bindings.
You can use kie-server/kie-server for default logging - Refer to Appendix B for default users and roles included
jBPM Workbench
This image provides the standalone version 6.2.0.Final of the jBPM Workbench: web-based authoring and management of your processes. It does not include any custom configuration, it just provides a clean jBPM Workbench application running in JBoss WildFly 8.1. The goal of this image is to provide the base software and let the users to extend it, and apply custom configurations and build custom images.
Fetch the image into your Docker host:
docker pull jboss/jbpm-workbench:6.2.0.Final
Customize the image by creating your Dockerfiles:
FROM jboss/jbpm-workbench:6.2.0.Final
...
Please refer to Appendix C for extending this image.
Please refer to Appendix C for extending this image.
Run a jBPM Workbench container:
docker run -p 8080:8080 -d --name jbpm-wb jboss/jbpm-workbench:6.2.0.Final
Navigate to your jBPM Workbench at:
http://localhost:8080/jbpm-console # Linux users
http://<boot2docker_ip>:8080/jbpm-console # Windows users
Refer to Appendix A for more information about IP address and port bindings.
http://<boot2docker_ip>:8080/jbpm-console # Windows users
Refer to Appendix A for more information about IP address and port bindings.
This image provides the standalone version 6.2.0.Final of the jBPM Workbench: web-based authoring and management of your processes. It includes the security and persistence configurations and some examples too.
Tip: This image inherits from the jBPM Workbench one and adds custom configurations for WildFly security subsystem (security realms) and system properties for enabling the use of the examples repository.
The goal of this image is to provide a ready to run jBPM Workbench application: just pull, run and use the Workbench:
1. Pull the image:
docker pull jboss/jbpm-workbench-showcase:6.2.0.Final
2. Run the image:
docker run -p 8080:8080 -d --name jbpm-wb-showcase jboss/jbpm-workbench-showcase:6.2.0.Final
3. Navigate into the workbench at:
http://localhost:8080/jbpm-console # Linux users
http://<boot2docker_ip>:8080/jbpm-console # Windows users
Refer to Appendix A for more information about IP address and port bindings.
You can use admin/admin for default logging - Refer to Appendix B for default users and roles included
1. Pull the image:
docker pull jboss/jbpm-workbench-showcase:6.2.0.Final
2. Run the image:
docker run -p 8080:8080 -d --name jbpm-wb-showcase jboss/jbpm-workbench-showcase:6.2.0.Final
3. Navigate into the workbench at:
http://localhost:8080/jbpm-console # Linux users
http://<boot2docker_ip>:8080/jbpm-console # Windows users
Refer to Appendix A for more information about IP address and port bindings.
You can use admin/admin for default logging - Refer to Appendix B for default users and roles included
Appendix
Appendix A - IP address and ports bindings for Docker containers
By default, when using any of the Drools & jBPM Docker images, the port 8080 is exposed for the use of the HTTP connector. This port is not exposed to the Docker host by default, so in order to expose it and be able to navigate through the applications please read the following instructions.
The recommended use for running containers is specifying in the docker client the -p argument as:
docker run -p 8080:8080 -d ....
Doing this way, the docker daemon binds the internal container's port 8080 to the Docker host machine's port 8080. So you can navigate into the applications at:
http://<docker_host>:8080/jbpm-console
http://<docker_host>:8080/kie-server
http://<docker_host>:8080/drools-wb
If your Docker host machine's port 8080 is not available, run the containers with the -P command line argument. Docker binds the internal 8080 port to an available free exposed port in the Docker host, so in order to access the application you have to discover the bind port number.
To discover running container's ports type the following command:
docker ps -a
This command will output the processes and the port mappings for each running container:
CONTAINERID IMAGE COMMAND CREATED STATUS PORTS NAMES
2a55fb.... jboss/drools-w.. ... ... .. 0.0.0.0:49159->8080/tcp.. drools-wb
http://<docker_host>:49159/jbpm-console
http://<docker_host>:49159/kie-server
http://<docker_host>:49159/drools-wb
Docker hostname & IP address
The Docker hostname or IP address have to be specified in order to navigate through the container's applications.
If you are running Docker in your localhost and using Linux based OS, it defaults to localhost:
http://localhost:8080/jbpm-console
http://localhost:8080/kie-server
http://localhost:8080/drools-wb
If you are running Docker on another machine or in Windows environments, where Boot2Docker is required, you have to specify the host name (if DNS available for it) or the IP address for it:
http://192.168.1.156:8080/jbpm-console
http://192.168.1.156:8080/kie-server
http://192.168.1.156:8080/drools-wb
Appendix B - Default applications users & roles
The Showcase images Drools Workbench Showcase and jBPM Workbench Showcase include default users & roles:Drools & jBPM Workbench Showcase roles
Role | Description |
admin | The administrator |
analyst | The analyst |
developer | The developer |
manager | The manager |
user | The end user |
kiemgmt | KIE management user |
Accounting | Accounting role |
PM | Project manager role |
HR | Human resources role |
sales | Sales role |
IT | IT role |
Drools & jBPM Workbench Showcase users
Username | Password | Roles |
admin | admin | admin,analyst,kiemgmt |
krisv | krisv | admin,analyst |
john | john | analyst,Accounting,PM |
mary | mary | analyst,HR |
sales-rep | sales-rep | analyst,sales |
katy | katy | analyst,HR |
jack | jack | analyst,IT |
salaboy | salaboy | admin,analyst,IT,HR,Accounting |
For KIE Execution Server Showcase there is a single user and role:
Username | Password | Roles |
kie-server | kie-server | kie-server |
Appendix C - Extending base images
The Base images are intended to be inherited from, for adding your custom configurations or deployments.In order to extend the images, the Dockerfile must start with:
FROM jboss/drools-workbench:6.2.0.Final
FROM jboss/kie-server:6.2.0.Final
FROM jboss/jbpm-workbench:6.2.0.Final
At this point, custom configurations and deployments can be added. Some notes:
FROM jboss/jbpm-workbench:6.2.0.Final
At this point, custom configurations and deployments can be added. Some notes:
- JBoss WildFly is located at the path given by $JBOSS_HOME environment variable
- $JBOSS_HOME points to /opt/jboss/wildfly/
- Applications are using the server in standalone mode:
- Configurations located at $JBOSS_HOME/standalone/configuration/
- Configuration files for the standalone-full profile are used
- Deployments are located at $JBOSS_HOME/standalone/deployments/

This blog is very much helpful to us. Thanks for your information
ReplyDeleteGuest posting sites
Technology
Great Article
DeleteCyber Security Projects
projects for cse
Networking Security Projects
JavaScript Training in Chennai
JavaScript Training in Chennai
The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training
شركة تنظيف منازل بابها
ReplyDeleteشركة تنظيف بابها
شركة تنظيف منازل بأحد رفيدة
شركة تنظيف بوادي بن هشبل
شركة تنظيف منازل بوادي بن هشبل
شركة تنظيف منازل ببيشة
The information which you have provided in this blog is really useful to everyone. Thanks for sharing.
ReplyDeleteDocker and Kubernetes Training
Docker and Kubernetes Training in Hyderabad
Kubernetes Online Training
Docker Online Training
Very nice post here thanks for it .I always like and such a super contents of these post.Excellent and very cool idea and great content of different kinds of the valuable information’s
ReplyDeletePHP Training in Chennai | Certification | Online Training Course | Machine Learning Training in Chennai | Certification | Online Training Course | iOT Training in Chennai | Certification | Online Training Course | Blockchain Training in Chennai | Certification | Online Training Course | Open Stack Training in Chennai |
Certification | Online Training Course
Thanks for one marvelous posting! I enjoyed reading it; you are a great author. I will make sure to bookmark your blog and may come back someday. I want to encourage that you continue your great posts.
ReplyDeleteFull Stack Training in Chennai
Full Stack Course Chennai
Full Stack Training in Bangalore
Full Stack Course in Bangalore
Full Stack Training in Hyderabad
Full Stack Course in Hyderabad
Full Stack Training
Full Stack Course
Full Stack Online Training
Full Stack Online Course
Am really impressed about this blog because this blog is very easy to learn and understand clearly.This blog is very useful for the college students and researchers to take a good notes in good manner,I gained many unknown information.
ReplyDeleteData Science Training In Chennai
Data Science Online Training In Chennai
Data Science Training In Bangalore
Data Science Training In Hyderabad
Data Science Training In Coimbatore
Data Science Training
Data Science Online Training
With the help of a CRM consulting company, you can eventually get it all done, be it salesforce platform designing and implementation or the training part. Salesforce training in Chennai
ReplyDeleteGreat idea! Kind sharing this article. I got some useful information from your blog.
ReplyDeletehow to write seo content
english in german
salesforce tips
software testing material
ethical hacking books
Very well written and really clear. Thanks for this post!
ReplyDelete