Docklands: Java EE Docker Images In "Docker Central"
Docklands comprises Java EE-relevant (Wildfly, Payara, TomEE, WebSphere Liberty, WLS, Tomcat (...))
Dockerfiles, directly available from hub.docker.com/u/airhacks/.
Docklands images are heavily relying on image layering.
A typical Java EE application comprises the following layers:
airhacks/java: the OS + Java layer. Only serves as a base, "abstract" layer. Changes on OS and Java releases and patches.
airhacks/[appserver]: this layer inherits from
airhacks/javaand only contains the application server installation. Only changes on new application server releases.
airhacks/[appserver]-configured: inherits from 2. and contains project-specific configuration like e.g. JMS Queues, JDBC DataSources etc. Has to be rebuilt on projects-specific configuration changes like e.g. -Xmx or -Xms changes. This layer is optional
airhacks/[project-name]: inherits from 2. or 3. Only contains a Thin War. Is rebuilt with each
Fortunately the base images are big, but have to rebuilt only a few times in year. The application / project images change several times a day, but are tiny. The creation of a full docker image with https://github.com/AdamBien/docklands takes usually: ~100ms and only adds the WAR size (usually a few MB) to the total size.
The base images exist only once at your hard drive and are shared across different application servers and applications (aka microservices).
docker run -d -p 8080:8080 --name payara-ping airhacks/payara-ping
Checkout docklands for the sources, or docklands at hub.docker.com for ready to use images.
Docklands in action:
See you at Java EE Workshops at Munich Airport, Terminal 2 and particularly at Java EE 7 Microservices. Is MUC too far? Checkout: javaeemicro.services.