A container is not a VM (at least in the traditional sense). The advantages of running java inside of a container is that you can ship all of your things as one artifact, and run it on a bunch of different infrastructures, with all it's dependencies packaged together. So rather than needing to use something to ensure your properties are configured correctly, and all your passwords are where they need to be, and all your other bits and such are in place, you can pack it all in a container and run it anywhere (Well... "anywhere" being a bit of a stretch, but you get the idea haha)
w8rbt|8 years ago
I like docker and use it, but it's not for everything everywhere and is overly-hyped IMO.
danudey|8 years ago
This is the key. The right JVM, the right classpaths, the right configuration, the right permissions, the right native libraries.
The setup process for every Java app we've used (thankfully just ActiveMQ and Kafka lately) have been incredibly complicated. JAR files in paths, long, convoluted shell scripts to set up all possible variables for every possible JVM, wrappers that wrap launchers, etc.
And then all of those steps are prone to breakage and are difficult to debug.
Shipping a Docker container lets you say "Here is a working environment that needs no configuration and won't suddenly fail until reconfigured when another app you have needs Java 9 and not Java 8".
ivan_gammel|8 years ago
delecti|8 years ago
crazysmoove|8 years ago
ivan_gammel|8 years ago
inamberclad|8 years ago