Introduction to Docker
Docker is an open source container runtime system based on Linux containers. Linux containers use Linux kernel features such as namespaces, control groups (cgroups), and layered filesystems:
- Namespaces: Namespaces isolate each application from the host and other applications by creating separate environments.
- cgroups: In Linux, cgroups are used to limit applications for a specific set of resources such as memory or processing power.
- Layered filesystems: Layered filesystems consist of reusable layers stacked on top of each other to form the base of a root filesystem. They are the primary technology that enables containers to be lightweight.
Namespaces and cgroups surround the containers that are to be isolated and limited; whereas a layered filesystem consists of what is shared and packaged inside the containers. When you consider the popularity of Docker, the following three essential features make it prominent:
- Speed: Docker containers are lightweight...