So it seems, no matter where I go, I always come back to Docker! Not that this is problematic in and of itself, as it just starts highlighting why it's necessary, or at the very least, the kind of work Docker Containers will do for you instead of the usual "what version of Java does this need? What other specific environment configs does this project need that I need to notate so I don't conflict with that project" - and yes, I'm aware some Uber developers out there do this like nothing - but it's not a skill I picked up, and Docker fills that void for me.
jBPM is a toolkit for building business applications to help automate business processes and decisions.
jBPM originates from BPM (Business Process Management) but it has evolved to enable users to pick their own path in business automation. It provides various capabilities that simplify and externalize business logic into reusable assets such as cases, processes, decision tables and more.
A current task is getting jBPM - Business Process Management up and running on different people's machines. It seems OSX always likes to be difficult with it's Java settings - too new, and things won't work, and then you need to downgrade. But I hate going backwards, so fortunately, they have a Dockerized container!
That means - I don't care what version java you're running, we can get the whole shebang up-and-running with some command-line goodness.
Some of this is copy/paste from the respective sites - this just condenses it into one space.
If you do not have these installed already, Homebrew will attempt to install them for you.
If you'd like to install them yourself:
xcode-select --install
Alternatively, they can be downloaded from: developer.apple.com/downloads or the iTunes Store: Xcode
(below copied from the Homebrew site):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Paste that in a macOS Terminal or Linux shell prompt.
The script explains what it will do and then pauses before it does it.
You will probably need to close and reopen your terminal window.
$> brew --version
// should output:
Homebrew 2.2.14-14-g0404ce2
(or some other more recent version)
Docker Installation: https://docs.docker.com/docker-for-mac/install/ Docker for Mac: https://docs.docker.com/docker-for-mac/
brew cask install docker
⌘ + Space
to bring up Spotlight Search and enter Docker to launch Docker.When Docker is launched in this manner, a Docker whale icon appears in the status menu. Example:
As soon as the whale icon appears, the symbolic links for docker
, docker-compose
, docker-credential-osxkeychain
and docker-machine
are created in /usr/local/bin
.
$> ls -l /usr/local/bin/docker*
lrwxr-xr-x 1 susam domain Users 67 Apr 12 14:14 /usr/local/bin/docker -> /Users/susam/Library/Group Containers/group.com.docker/bin/docker
lrwxr-xr-x 1 susam domain Users 75 Apr 12 14:14 /usr/local/bin/docker-compose -> /Users/susam/Library/Group Containers/group.com.docker/bin/docker-compose
lrwxr-xr-x 1 susam domain Users 90 Apr 12 14:14 /usr/local/bin/docker-credential-osxkeychain -> /Users/susam/Library/Group Containers/group.com.docker/bin/docker-credential-osxkeychain
lrwxr-xr-x 1 susam domain Users 75 Apr 12 14:14 /usr/local/bin/docker-machine
$> docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
78445dd45222: Pull complete
Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://cloud.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/
Followed by:
of course, your versions may differ
$> docker version
Client:
Version: 17.03.1-ce
API version: 1.27
Go version: go1.7.5
Git commit: c6d412e
Built: Tue Mar 28 00:40:02 2017
OS/Arch: darwin/amd64
Server:
Version: 17.03.1-ce
API version: 1.27 (minimum version 1.12)
Go version: go1.7.5
Git commit: c6d412e
Built: Fri Mar 24 00:00:50 2017
OS/Arch: linux/amd64
Experimental: true
If you are going to use docker-machine to create virtual machines, install VirtualBox.
$> brew cask install virtualbox
Note that if VirtualBox is not installed, then docker-machine fails with the following error.
$> docker-machine create manager
Running pre-create checks...
Error with pre-create check: "VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path"
jBPM: https://www.jbpm.org/learn/gettingStarted.html (USING DOCKER tab)
(below copied from the jBPM site):
$> docker run -p 8080:8080 -p 8001:8001 -d --name jbpm-server-full jboss/jbpm-server-full:latest
Once container and web applications started, you can navigate to it and login using the username wbadmin and password wbadmin or any of the users available in the Business Central listed in the section below.
http://localhost:8080/business-central
Username: wbadmin
Password: wbadmin
That’s all that is needed to get fully configured and running jBPM distribution that includes:
Everything configured to work together smoothly and you can access them at following locations: