Logging with the WildFly Docker image

There are various ways to set up logging for Docker containers. Docker itself has a built-in logs command, you can mount a volume from the host and save the logs there, you can create a different container that would be only responsible for log handling, or set up a logging daemon. Every method has some pros and cons and it is up to you to choose the one that fits best.


JBoss projects as Docker images

I recently announced the availability of the official WildFly Docker image. Since then, our portfolio of images has grown a bit - as of today, we have 8 images. But this is not the end. We want to have a nice collection of JBoss projects shipped as Docker images.

All of our images are hooked up to automated builds. When we push an update to the repository, a new image will be created and pushed to the global registry. I also set up links between the images so if a base image is updated, our dependent images will be rebuilt. This is a fully automated process that ensures you get the latest available software.


Creating a minimal WildFly Docker image

The default way of creating an image with Docker is to extend an image by using the FROM call in the Dockerfile. But this is not the only way to do this. You can easily create a base image by using only the yum command.

WildFly 8.0.0.Final was recently released and is now available in Fedora 20 updates-testing repository. Let’s create an image that could be used to test this release but make it as minimal as it could be. The application server does have a lot of dependencies, so do not expect a 100 MB image. It’ll be closer to 1 GB.


Assigning IP addresses to Docker containers via DHCP

In my last blog post I explained how to run a Docker installation across multiple hosts. In the comments I was asked if it would be possible to use a DHCP server to assign IPs to the containers. I thought immediately — why not? In fact, assigning IPs using DHCP is a nice way to overcome the IP assignment issue I talked about before.

The set up is pretty similar to my earlier work.


Connecting Docker containers on multiple hosts

In my previous blog post I talked about running the Fedora Cloud images on a local KVM with libvirt. This was not a standalone task, but rather the preparation for this blog post: running Docker containers on multiple hosts attached to the same network.

I was asked in the comments on my WildFly cluster based on Docker blog post if it would be possible to run a cluster on multiple hosts. I found a very nice tutorial written by Franck Besnard. I’ve decided to set up a similar environment on my own to see how/if it works.