Portability is key in modern applications because they should run in every environment (on-premises or the cloud). Containers are prepared for these situations. We will also seek the high availability of applications in production, and containers will help us here too.
Not all applications are ready for containers by default. Processes' states and their data are difficult to manage inside containers.
In Chapter 1, Modern Infrastructures and Applications with Docker, we learned that containers are not ephemeral. They live in our hosts. Containers are created, executed, and stopped or killed, but they will remain in our host until they are deleted. We can restart a previously stopped container. But this is only true in standalone environments because all information resides under the host data path-defined directory (/var/lib/docker and C:\ProgramData\docker by default on Linux and Windows, respectively). If we move our workloads (that...