Home/Glossary/Docker

Docker

A platform for automating the deployment and management of applications within isolated environments called containers.

Docker is a platform for developing, shipping, and running applications inside containers. Unlike traditional virtual machines, containers share the host OS kernel, which minimizes overhead and allows for near-instant startup. Isolation occurs at the process level rather than through hardware emulation.

The core of Docker is the image—a read-only template containing the application code and its dependencies. A container is a live instance of an image. Developers use a Dockerfile to define the build process and docker-compose to manage multi-container applications and their networking.

Core Mechanisms

Docker leverages Linux kernel features such as namespaces for resource isolation (PID, Network, Mount) and cgroups for resource limiting (CPU, RAM). These features ensure that one container cannot interfere with others or consume all host resources.

Docker is essential for microservices and CI/CD pipelines, ensuring environment parity across the entire lifecycle. For example, running docker run -d -p 5432:5432 postgres provides a fully functional database in seconds, regardless of the underlying operating system's pre-installed libraries.