Computer ScienceNetworking & SystemsMedium

Docker

Also known as:Container RuntimeDocker Engine

Docker is an open-source platform that uses OS-level virtualization to package applications and their dependencies into lightweight, portable units called containers, ensuring consistent execution across any computing environment. Unlike virtual machines that emulate entire hardware stacks, Docker containers share the host OS kernel and isolate the application's filesystem, processes, and network using Linux namespaces and cgroups. Docker has revolutionized software delivery by enabling the "build once, run anywhere" paradigm, drastically reducing environment-related deployment failures.

Docker vs Virtual Machine Comparison

FeatureDocker ContainerVirtual Machine
Startup TimeMillisecondsMinutes
SizeMegabytesGigabytes
OS OverheadShares host kernelFull OS per VM
Isolation LevelProcess-levelHardware-level
PortabilityVery highModerate

Interactive Tools

Docker Desktop

Open Tool

Docker Hub

Open Tool

Play with Docker

Open Tool
Docker logo — the containerization platform whale mascot

Wikimedia Commons, CC BY-SA

Related Terms

Computer Science

Kubernetes

Kubernetes (K8s) is an open-source container orchestration system originally developed by Google that automates the deployment, scaling, load balancing, and self-healing of containerized applications across clusters of machines. It abstracts the underlying infrastructure, allowing developers to declare desired application state (via YAML manifests) while Kubernetes continuously reconciles the actual state to match. Kubernetes has become the de facto standard for running production-grade microservices workloads, supported by all major cloud providers (AWS EKS, Google GKE, Azure AKS).

Computer Science

Microservices Architecture

Microservices architecture is a software design approach where an application is structured as a collection of small, independently deployable services, each responsible for a specific business capability and communicating over well-defined APIs. Unlike monolithic architectures where all components share a single codebase and runtime, microservices can be developed, deployed, and scaled independently using different programming languages and data stores. This pattern enables large engineering teams to work in parallel, improves fault isolation, and supports continuous delivery pipelines at scale.

Computer Science

Cloud Computing

Cloud computing is the on-demand delivery of computing resources — including servers, storage, databases, networking, software, and analytics — over the internet with pay-as-you-go pricing, eliminating the need for organisations to own and maintain physical data centres. NIST defines cloud computing through five essential characteristics: on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service. The three primary service models — IaaS (Infrastructure as a Service), PaaS (Platform as a Service), and SaaS (Software as a Service) — and three deployment models (public, private, hybrid) give organisations flexibility to match cloud resources to their security, compliance, and cost requirements.

Docker was created by Solomon Hykes and released in 2013 by dotCloud (later renamed Docker, Inc.). The name evokes the image of a dock worker loading standardized shipping containers — a metaphor for packaging software into portable, uniform units.

dockercontainersdevopsvirtualizationdeploymentmicroservices