Since day one, Java EE has been based on containers. If you doubt it, just have a look at this diagram:
It belongs to Oracle's official documentation for Java EE 6 and, actually, has been much the same architecture since the times of Sun.
If you pay attention, you will notice that there are different containers: a web container, an EJB container, and an application client container. In this architecture, it means that the applications developed with those APIs will rely on many features and services provided by the container.
When we take the Java EE application server and put it inside a Docker container, we are doing the same thing— it is relying on some of the features and services provided by the Docker environment.
This recipe will show you...