Conquering UltraESB-X with Docker

Malith Jayaweera
Oct 12, 2017 · 2 min read

Let’s face it. Every once in awhile you come across a great product. But the struggle that you have to go through to set it up, is a major turn-off. Installing and setting up UltraESB-X might seem to be a daunting task at first. We at AdroitLogic have also been aware of the problem and finally, have come up with a solution. Yes. You’ve correctly guessed it. It’s a Docker image.

To continue with the guide, all you need is a working Docker installation which, thanks to its recent advancements and widespread adoption, is no longer a luxury item. Maybe your own computer, a dev system at your workplace, a virtual machine, or even an EC2 instance.

Once Docker is in place, getting your first UltraESB-X instance up and running is just as simple as:

docker run \ -e CLIENTKEY=your-client-key-here \ adroitlogic/ultraesb-x:17.07.1

Since UltraESB-X is a proprietary product, you’ll have to obtain a client key in order to try it out. Just ask us for a key, and we’ll email you one that can run an unlimited number of Docker-based UltraESB-X instances.

If you need to keep the ESB running in an interactive terminal,

docker run -it \ -e CLIENTKEY=your-client-key-here \ adroitlogic/ultraesb-x:17.07.1

However, running an UltraESB distribution without a project does not make much sense. Luckily, adding a project is as easy as a simple volume mount:

docker run -it \ -e CLIENTKEY=your-client-key-here \ -v /home/malith/sample-project/target:/opt/ultraesb-x/projects \ -p 9002:5400 \ adroitlogic/ultraesb-x:17.07.1

We have mounted the target directory of our sample-project, overlaying the projects directory of the UltraESB-X bundle inside the Docker image. Since the project listens for messages on port 5400, we also mapped port 9002 of the host machine to port 5400 of the container (using -p) so we can send messages to our project from the outside.

Want to run multiple projects? Piece of cake:

docker run -it \ -e CLIENTKEY=your-client-key-here \ -v /path/to/project1.xpr:/opt/ultraesb-x/projects/project1.xpr \ -p 9002:5400 \ -v /path/to/project2.xpr:/opt/ultraesb-x/projects/project2.xpr \ -p 9003:5401 \ adroitlogic/ultraesb-x:17.07.1

If you need to get a sample project set up quickly, simply visit our samples page and grab your favourite.


Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store