mcoria / javaee-docker

Effective Docker and Kubernetes for Java EE Developers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Effective Docker and Kubernetes for Java EE Developers

This repository shows several key trade-offs to consider while using Docker and Kubernetes with Java EE applications. The repository hosts the demos for this talk. A video for the talk is here.

The basic Java EE application used throughout is in the javaee folder.

Factors demostrated include:

  • Using thin WARs with Docker. The thin-war folder shows how this is done.
  • Using uber jars with Docker. The uber-jar folder shows how this is done.
  • Using hollow uber-jars with Docker. The hollow-uber-jar folder shows how this is done.
  • Administering applications through admin ports exposed out of Docker (as opposed to just deploying applications within Docker images). The exposed-port folder shows how this is done.
  • Auto-deploying applications through mounted external Docker volumes on the host (as opposed to deploying applications within Docker images). The external-volume folder shows how this is done.
  • How to make application server administration, clustering, autodiscovery and load-balancing work with Docker clusters, networking, and Kubernetes deployments. The kubernetes-clustering folder shows how this is done.
  • How your CI/CD pipeline looks like with Java EE, Docker and Kubernetes. The jenkins-kubertenes folder shows how this is done.

The demos use Java EE 8, WebSphere Liberty, Azure Kubernetes Service (AKS) and Jenkins.

TODO

  • Use Kubernetes service host names.
  • Finish Jenkins/Kubernetes section.

About

Effective Docker and Kubernetes for Java EE Developers

License:MIT License


Languages

Language:Java 68.7%Language:HTML 26.0%Language:Dockerfile 4.4%Language:Groovy 1.0%