Docker
In-depth entryby Docker, Inc. · Platform · also known as Docker Engine, Docker Desktop, Moby
Container platform combining the Docker Engine runtime, the Compose and Build tooling, Docker Desktop for macOS and Windows, and the Docker Hub registry
Overview
Docker is the container platform from Docker, Inc. that popularized packaging an application and its dependencies into an OCI image and running it as an isolated process. The runtime, Docker Engine, is built from the open-source Moby project under the Apache-2.0 license and runs natively on Linux; Docker Desktop wraps that engine in a lightweight Linux virtual machine for macOS and Windows and adds a graphical dashboard, Kubernetes integration and settings management. Around the engine sit Docker Compose for declaring multi-container applications in YAML, BuildKit and Buildx for building multi-platform images, and Docker Hub as the default public registry.
In practice Docker is used at every stage of a software lifecycle: developers reproduce a service locally with one docker compose up, continuous-integration jobs build and push images, and servers run those same images in production either directly or under an orchestrator. The CLI and REST API are the integration surface for most other tools in the ecosystem.
Two caveats matter when choosing it. Docker Desktop is proprietary and, under the Docker Subscription Service Agreement, requires a paid subscription for commercial use in larger organizations, which has driven interest in alternatives such as Podman and OrbStack. Second, containers on macOS or Windows always run inside a VM, so file-system sharing and networking carry overhead and behave differently from Linux hosts. The engine itself has no built-in multi-node scheduling beyond Swarm mode; clusters typically move to Kubernetes.
Editorial note on uncertainty. license_spdx refers to Docker Engine (Moby); Docker Desktop and Docker Hub are proprietary services.
Capabilities
- Build OCI images from a Dockerfile with BuildKit, including multi-platform builds
- Run, stop and inspect containers through the CLI and a REST API
- Declare multi-container applications with Docker Compose
- Push and pull images from Docker Hub or any OCI registry
- Docker Desktop GUI with an embedded Kubernetes cluster on macOS and Windows
- Volumes, networks and secrets for container state and connectivity
Typical workflows
- Reproduce a service stack locally with docker compose
- Build and publish an image from a CI pipeline
- Ship a single-container app to a VPS and run it under a restart policy
- Produce multi-architecture images for Apple Silicon and x86 servers
Strengths
- De facto standard tooling and image format with the largest registry ecosystem
- Same image runs on a laptop, in CI and in production
- Extensive official documentation and base images
- Engine is open source under Apache-2.0
Limitations
- Docker Desktop is proprietary and commercially licensed for larger organizations
- Containers on macOS and Windows run inside a VM, adding file-sharing and networking overhead
- The daemon runs as root by default on Linux unless rootless mode is configured
- No multi-node orchestration beyond Swarm mode; clusters usually require Kubernetes
Prerequisites
- Linux host with a supported kernel, or macOS/Windows with Docker Desktop (or a compatible engine)
- Virtualization support on macOS and Windows
Who it is for
- Application developers
- DevOps and platform engineers
- Researchers packaging reproducible environments
Alternatives & comparison
Podman offers a daemonless, rootless engine with a largely compatible CLI and is fully open source, but ships its own machine layer for macOS and Windows rather than a desktop product with the same reach. OrbStack is a macOS-only, proprietary replacement for Docker Desktop that reuses the Docker CLI and images while focusing on lower resource use. Kubernetes is not a substitute for the engine but the usual next step when workloads need scheduling across several hosts; Docker Desktop can run a single-node Kubernetes for development.
- Homebrew
Community-maintained package manager for macOS and Linux that installs command-line tools (formulae) and desktop apps (casks) from the terminal
Open sourceOpen source - Kubernetes
Open-source system for scheduling, scaling and operating containerized workloads across a cluster of machines
Open sourceOpen source - launchd
macOS's built-in service manager that starts, supervises and schedules daemons and per-user agents from property-list job definitions
ProprietaryFree - OrbStack
macOS application that runs Docker containers, Linux machines and a local Kubernetes cluster as a lighter replacement for Docker Desktop
ProprietaryFreemium - PM2
Production process manager for Node.js and other long-running programs with cluster mode, log handling, restart policies and boot-time startup scripts
Open sourceOpen source - Podman
Daemonless, rootless container engine with a Docker-compatible CLI, companion Buildah and Skopeo tools and a Podman Desktop GUI
Open sourceOpen source
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- LicenseMoby LICENSE (Apache-2.0)checked Nov 1, 2026
https://github.com/moby/moby/blob/master/LICENSE
Supports: license_spdx, source_model
- Official documentationchecked Nov 1, 2026
- Official siteDocker: Accelerated Container Application Developmentchecked Nov 1, 2026
https://www.docker.com/
Supports: name, summary, product_type
- Policy pageDocker Desktop license agreementchecked Nov 1, 2026
https://docs.docker.com/subscription-billing/desktop-license
Supports: pricing_model, limitations
Docker Desktop is free for personal use and small businesses and requires a paid subscription otherwise.
- Pricing pagechecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Verified · Nov 2, 2026
Spotted an error?
More in Containers & virtualization
Trivy
Aqua Security · Security tools
Open-source scanner that finds known vulnerabilities, misconfigurations, exposed secrets and license issues in container images, file systems, git repositories, IaC and Kubernetes clusters