Docker packages an application with its dependencies into a container, helping it run consistently across development, test, and production environments. Containers isolate applications while sharing the host operating system’s kernel, unlike virtual machines, which require a full operating system for each instance. section 2.1
This approach supports:
- Portability across systems with Docker installed, with less resource use and faster startup than virtual machines. section 2.1
- Isolation using Linux kernel namespaces and cgroups; Linux is common, though Windows containers are also possible. section 2.1
- Container creation from Docker images, which package application code, libraries, dependencies, and configuration. section 2.1
Figure 2.1 Docker container structure
View the diagram of Docker container structure. section 2.1

























