✦ For everyone, free.

Practical knowledge for real and everyday life

Home

1.1 Docker Definition

A focused guide to Docker Definition, connecting core concepts with practical Docker and container operations.

Docker is an open-source platform that packages an application and all of its dependencies — libraries, runtime, system tools, and configuration — into a standardized unit called a container, and provides the tooling to build, distribute, and run those containers consistently across different machines and environments.

Defining Characteristics

At its core, Docker is defined by three properties that distinguish it from earlier approaches to deploying software:

Isolation without a separate kernel. A Docker container runs as an isolated process on the host operating system, using Linux namespaces and control groups (cgroups) to separate it from other processes, rather than emulating a full virtual machine. This makes containers far lighter and faster to start than virtual machines.

Portability through images. A Docker image is a self-contained, versioned snapshot of an application's filesystem and runtime configuration. Because the image carries its dependencies with it, the same image produces identical behavior whether it runs on a developer's laptop, in a test environment, or in a production cluster.

Declarative build process. Images are built from a Dockerfile, a plain-text set of instructions that deterministically describes how the image is assembled, which means the build process itself is reproducible and version-controllable alongside application code.

Checking the Definition in Practice

The practical meaning of "Docker" is best understood through the small set of commands used to interact with it. Checking which version of Docker is installed and confirming the daemon is reachable is typically the first step:

docker --version
docker info

Listing the containers currently running on a host shows Docker's container abstraction in action:

docker ps

Listing the images available locally shows the other half of the definition — the portable, buildable artifacts that containers are created from:

docker images

Docker as a Platform, Not Just a Tool

Although "Docker" is often used loosely to refer to the docker command-line tool, the term properly refers to the whole platform: the daemon that manages containers, the image format and build system, the networking and storage subsystems that containers use, and the ecosystem of registries (such as Docker Hub) used to distribute images. This is why Docker is described as a containerization platform rather than simply a virtualization tool — it standardizes not just isolation, but the entire lifecycle of packaging, shipping, and running software.

Relationship to the Broader Container Ecosystem

Docker popularized containers as a mainstream way to package software, and its image format became the basis for the Open Container Initiative (OCI) specification, which other container runtimes now also implement. As a result, an image built with Docker can typically be run by other OCI-compliant runtimes, and Docker itself can run images that were built by other compliant tools. This standardization is part of what makes Docker's definition extend beyond a single vendor's product to an industry-wide convention for how containerized software is packaged and executed.

Content in this section