Java EE, Docker, WildFly and Microservices on Docker
Join the DZone community and get the full member experience.Join For Free
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-wayand push them to the Registry. If you're struggling with multiple images and dependencies on your machine it ishandy 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 tosetup 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.
Published at DZone with permission of Markus Eisele, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
SRE vs. DevOps
Java Concurrency: Condition
Software Development: Best Practices and Methods
TDD vs. BDD: Choosing The Suitable Framework