[Hawkular-dev] Some progress on Dockerization of Hawkular-services

Heiko W.Rupp hrupp at redhat.com
Fri Jun 17 06:37:08 EDT 2016


Hey,

I was able to make some progress with Dockerizing Hawkular-services
More technical details below

As it is relatively hard (not impossible) to do stuff like adding a user
inside a (immutable) docker container or to edit standalone.xml to
enable the agent, we need to decide how we add the (default) user
to hawkular docker container and also if/how to enable the embedded
agent.

Also as we more understand hawkular-services as one package,
we should perhaps figure out if we really need the flexibility to
modify standalone.xml on the fly with all our snippets and templates
or if we create a 'hardcoded' one that can be used for the process
going forward.
At the moment wildfly10 is our base and will be for a longer period,
so the server-supplied standalone.xml will not change anyway.


Anyway my Poc is at
https://github.com/pilhuhn/hawkular-services/tree/dockerize-all-the-things

There are 3 routes that I went (basically refining the process)

(If you want to run any you first need to
$ mkdir -p /tmp/opt/hawkular
as this is where the docker run commands expect the data for now

To get a 'working server' you need to "mvn install -Pdev first"

1) dist/ creating a Dockerfile by hand and manually running docker build 
Dockerfile
  and then docker-compose to run a container from this image linked to a 
C* 3.5 one.
Base image is the jboss/base-jdk:8 one and the Dockerfile basically 
overlays the
whole hawkular-services distribution on top

You can run this with $ docker-compose up


2) docker-dist/  here maven creates the Dockerfile on the fly and feeds 
it to Docker.
This uses the fabric8.io docker plugin from Roland Huss.
Again it uses the same base image + overlay as 1). The container tag is 
derived from the
maven properties.
To build and run you can go into the directory and then

$ mvn docker:build
$ mvn docker:start

3) docker-dist2/ Similar to 2) this uses the mvn docker plugin, but this 
time is uses
jboss/wildfly:10.0.0.Final as the base image. Unfortunately it still 
overlays the whole
wildfly from us, but we should be able to filter that out.
The good thing is though that the image is already much smaller as in 2)

To build and run the same process as 2) applies

*
The next step is now to figure out how to only apply our changes and not 
to
supply the base wildfly into the conatiner. I certainly need help from 
someone
with maven-fu :)

But while the current state is not optimal it shows that this is very 
much doable
and we should proceed.

   Heiko



More information about the hawkular-dev mailing list