Dockerizing our Hello World application
Docker, and containers in general, are very powerful tools, worth exploring. By combining resource isolation features, including union capable filesystem (UCF), Docker allows for the creation of packages called containers, which include everything that is needed to run an application. Containers, like virtual machines, are self-contained, but they virtualize the OS itself,instead of virtualizing the hardware. In practice, this makes a huge difference. As you have probably noticed by now, starting a virtual machine, such as an EC2 instance, takes time. This comes from the fact that in order to start a virtual machine, the hypervisor (that's the name of the technology that creates and runs virtual machines) has to simulate all of the motions involved in starting a physical server, loading an operating system, and going through the different run-levels. In addition, virtual machines have a much larger footprint on the disk and in the memory. With Docker...