What is Docker?
Docker is software that allows a developer to create a “container” that wraps their solution in a complete filesystem that contains everything the program needs to run. This includes any programming code, runtime and system libraries, any system tools, etc. that the developer would normally rely on the OS to provide. Since everything the program needs to operate correctly in included in the Docker container, the program is guaranteed to run for a long as the container exists.
Why use Docker?
Once a developer creates and tests the container, it is an easily deployed package that runs on a single machine, sharing the same operating system kernel. The container will start instantly and should use less RAM. No Windows patches or server upgrades will have any negative impact on the program. Since containers isolate applications from other programs installed on the same computer, including other containers, and container is protected from the underlying infrastructure. Containers include the application and all of its dependencies but share the kernel with other containers, running as isolated processes in user space on the host operating system.