A Brief History of the Pre-Docker Era
Before diving deep into the Docker tool, let's understand some background and history.
The challenge of deploying an application in an environment-agnostic framework was achieved earlier using virtualization, that is, the entire application, dependencies, libraries, necessary frameworks, and the operating system itself was virtualized and packaged as a solution that could be deployed on a host. Multiple virtual environments could run on an infrastructure (called a hypervisor), and applications became environment-agnostic. However, this approach has a major trade-off. Packaging the entire operating system into the virtual machine (VM) of an application made the package heavy and often resulted in wasting memory and computing resources.
A more intuitive approach to this problem was to exclude the operating system from the package and only include the application-related libraries and dependencies. Additionally, enable a mechanism such that the package becomes...