All terms

Docker

A platform for packaging applications and dependencies into portable containers that run consistently anywhere.

DevOps2 min read

Definition

Docker packages an application with its runtime, libraries, and config into an image. Containers are running instances of those images — isolated processes that share the host OS kernel but behave like lightweight virtual machines.

This eliminates "works on my machine" problems: the same container runs on your laptop, CI, and production cloud.

In simple terms

Shipping containers revolutionized freight — any cargo fits standard boxes that any crane and ship handle the same way. Docker containers standardize software delivery the same way.

Where you see it

  • Teams deploy microservices as Docker containers on Kubernetes.
  • CI pipelines build and test inside containers for reproducibility.
  • ML engineers containerize inference servers for GPU deployment.
  • Open-source projects publish Docker images for one-command setup.

How it works

  1. 1.Write a Dockerfile

    Declare base image, copy code, install dependencies, and set the start command.

  2. 2.Build an image

    `docker build` layers filesystem snapshots into an immutable image tag.

  3. 3.Run containers

    `docker run` starts isolated processes from the image with ports and env vars.

  4. 4.Orchestrate at scale

    Kubernetes or Docker Compose manage many containers, networking, and updates.

Why it matters

  • Containers are the default deployment unit for modern backend and ML services.
  • Docker skills transfer directly to cloud platforms and DevOps workflows.

Often confused

  • Docker is the same as a virtual machine.

    Containers share the host kernel and start faster; VMs emulate full hardware with guest OSes.

  • Docker alone is production-ready orchestration.

    Production usually adds orchestration (K8s), secrets management, monitoring, and health checks.