Field Guide · concept

Docker is a popular platform and toolset for building, sharing, and running containers. Introduced in 2013, it standardized container images and a simple command line and brought containerization into the mainstream.1

Overview

A developer describes an image in a Dockerfile — a recipe listing a base image, dependencies, and the application — and Docker builds it into a layered, portable image. That image can be pushed to a registry such as Docker Hub and pulled to run identically anywhere Docker is installed. Docker did not invent the underlying kernel features (namespaces and cgroups), but its tooling and image format made them easy enough that containers became the default way to ship server software.2

Where it fits

Docker handles single containers on one host; when you need to run many containers across many machines, Kubernetes orchestrates them. Containers are lighter than the full virtualization a hypervisor provides. A Docker image of GopherTrunk gives a clean, reproducible decoder build; on a capture node you pass the SDR device through from the host into the container.

Sources

  1. Docker (software) — Wikipedia, on Docker’s history and design. 

  2. Docker — the project’s official site. 

See also