DevOps

Java EE, Docker, WildFly and Microservices on Docker

If one thing survived all the New Year parties, it is Docker. It was hot at the end of 2014 and it looks like it is getting even hotter in 2015. And Red Hat is one of the key drivers behind the adoption of this amazing container technology. This is a short summary blog post about a bunch of resources to get you started with Java EE, WildFly and Microservices on Docker.

Get A First Impression – Introduction to Docker

Red Hat’s developer blog offers a practical introduction to Docker. If the numbers of articles, meetups, talk submissions at different conferences, tweets, and other indicators are taken into consideration, then seems like Docker is going to solve world hunger. This is how Arun Gupta starts his introductory blog-post about Docker basics.

Take the Lab – Docker for Java Developers 

This lab offers developers an intro-level, hands-on session with Docker, from installation (including boot2docker on Windows/Mac), to exploring Docker Hub, to crafting their own images, to adding Java apps and running custom containers. This is a BYOL (bring your own laptop) session, so bring your Windows, OSX, or Linux laptop and be ready to dig into a tool that promises to be at the forefront of our industry for some time to come. The Docker Common Commands Cheatsheet by Arun might also help a bit here.

Learn More – About how to use Docker on Windows with Maven

As many middleware developers are running Windows, I thought I give it a try myself and also give some more tips along the way about how to build and run images with the least possible amount of struggle with Docker containers, hosts and guests and command line options.

Get Your Hands Dirty – Working With Docker Images

Now that you’ve learned how to manage the basics, it is time to either create your own images the Docker-way and push them to the Registry. If you’re struggling with multiple images and dependencies on your machine it is handy to know how to remove them.

Take the Lab Again – Docker with WildFly and Java EE7 HOL

The Java EE 7 Hands-on Lab has been delivered all around the world and is a pretty standard application that shows design patterns and anti-patterns for a typical Java EE 7 application. Arun took some time to Docker-ize it. Learn how to use it and take it again.

Setting Up You Own WildFly – On Docker Of Course

A pretty standard setup is to have different containers for your database and your Java EE server. Learn how to setup MySQL and WildFly on separate containers and link them. Or jump directly into setting up a WildFly cluster on OpenShift Origin v3 (which is full of Docker).

You can also have a WildFly version which contains Apache Camel as subsystem and use this instead of a plain WildFly on Origin. But you can of course also use it in plain Docker. And you also need to know how to expose the WildFly admin console to the host.

Learn How To Test on Docker – Java EE with Arquillian and Cube

Everything is setup now and you know how to operate your Docker containers and images, it is time to get your hands on tests. Arquillian supports Docker with the Cube extension.

If I missed an important link, I would be happy to know about and read your comments or experiences. Also, please let me know if there’s something special, you are missing.

Markus Eisele

Markus is a Developer Advocate at Red Hat and focuses on JBoss Middleware. He is working with Java EE servers from different vendors since more than 14 years and talks about his favorite topics around Java EE on conferences all over the world. He has been a principle consultant and worked with different customers on all kinds of Java EE related applications and solutions. Beside that he has always been a prolific blogger, writer and tech editor for different Java EE related books. He is an active member of the German DOAG e.V. and it's representative on the iJUG e.V. As a Java Champion and former ACE Director he is well known in the community. Follow him on Twitter @myfear.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Back to top button