&gt; Docker is a terrific product, but as a general-purpose solution, is simply too blunt an instrument for the deployment and management of JVM application containers<p>Why?<p>&gt; Image management, logging and monitoring present challenges to general-purpose container solutions, but are non-issues for the JVM.<p>WTF? Java applications can be a pain to set up. Jars here, jars there, Maven, Ant, XML configuration, its all a big mess. If someone can do all that for me and say &quot;here&#x27;s my Docker image that just works&quot; I would say issue solved.<p>&gt; Docker images are big and contain full-blown operating systems as they are meant to run arbitrary applications: managing their archival and evolution can become a serious hassle. On the other hand JVM applications need nothing more than a JVM and a kernel<p>This person seems to have a serious lack of understanding of Docker. Your Docker image does not need to contain a &quot;full-blown operating system&quot; - it is perfectly acceptable for it to contain just the strict dependencies of the program (the JVM) you are running. On my system java links against libpthrad, libdl, libz and libc.<p>&gt; Linking: Java already supports customized domain-name resolution, so Docker’s solution of modifying the container’s hosts file is unnecessary<p>Does he even get what linking is about? Linking is a way of sharing configuration between containers...so the mysql host:port on one container is available as a convenient environment variable or &#x2F;etc&#x2F;hosts on another. What has this got to do with Java&#x27;s DNS custom support?<p>&gt; Monitoring and Management: The JVM has its own rich monitoring and management API, JMX<p>And Docker is somehow preventing you from using this?<p>This post reeks of Java elitism and written by people who didn&#x27;t even bother trying to understand the technology they are claiming is inferior or not applicable to a True Java approach.