Containers offer a new approach to build, ship and run applications by isolating the operating system. A container consists of an entire runtime environment bundled into one package – the application along with all its dependencies, libraries and other binaries, and the configurational files needed to run it. This brings forth the ability to “build once and run anywhere.” With containers, the code is compiled and placed into a container image. That image can then be deployed on any type of host environment. As all the application artifacts are stored within the container, environment variables outside the container shouldn’t impact the application. This way, portability comes naturally to containerized applications.