How do Docker containers relate to real-world containers?
Now imagine the act of moving a software application from one environment to another environment starting from development right up to production. The following diagram represents the complexity associated with making different application components work in different environments:
Figure 1.16: Complexity associated with making different application components work in different environments
As per the preceding diagram, to make different application components work in different environments (different hardware platforms), one would need to make sure that the environment-compatible software versions and their related configurations are set appropriately. Doing this using manual steps can be a really cumbersome and error-prone task.
This is where Docker containers fit in. The following diagram represents containerizing different application components using Docker containers. As like real-world containers, it would become very easy to move the containerized application components from one environment to another with fewer or no issues:
Figure 1.17: Docker containers to move application components across different environments