9:29in productionCh. 1 · Launch/ 9:29 · ceiling 15 min
Software · Systems
Docker (software)
2013
Docker did not invent containers—it weaponised Linux kernel primitives into a developer-facing deployment standard.
Docker is a Linux containerisation platform that delivers applications in isolated, kernel-native process containers. It launched open-source in March 2013 at PyCon Santa Clara. It works by leveraging cgroups, namespaces, and OverlayFS—avoiding VM overhead but requiring Linux. It enables consistent execution across Linux environments, yet fails on non-Linux hosts without abstraction layers. It changed infrastructure abstraction from machines to processes—but only where the kernel permits. It is worth your time if you operate on Linux and need reproducible deployments.
Docker launched as open-source at PyCon Santa Clara in March 2013.
1:56
Mechanism
It uses Linux kernel isolation—cgroups, namespaces, OverlayFS—not virtual machines.
3:38
Consistency
Containers run consistently across Linux environments—but only on Linux.
5:26
Control
Version 0.9 replaced LXC with libcontainer to talk directly to the kernel.
Worth your time?
Yes. Study the whole thing.
4/ 5
What works
Consistent application packaging on Linux
Reduced resource overhead vs VMs
Simplified CI/CD pipeline portability
What does not
Docker does not eliminate dependency conflicts outside the container.
Docker does not provide cross-platform kernel compatibility.
Docker does not guarantee security isolation equivalent to VMs.
Study it if
Linux system administrators
DevOps engineers deploying on Linux clusters
Developers packaging stateless services
Skip it if
Windows desktop application developers
Embedded systems programmers
Teams without Linux kernel expertise
The written brief1 min read
What it is and the problem it solves
Docker is an open-source containerisation platform released in March 2013. It solves environment inconsistency by packaging applications and their dependencies into portable, isolated Linux process containers.
How it works
Docker uses Linux kernel features—cgroups, namespaces, and OverlayFS—to isolate processes in lightweight containers without virtual machines. It implements a high-level API to manage those isolated-process containers. Since version 0.9, it replaced LXC with its own Go-based libcontainer to interface directly with kernel virtualization facilities.
What works
Applications packaged with Docker run consistently across different Linux environments. The isolation provided by cgroups and namespaces works reliably when host kernels support them. Its high-level API simplifies container lifecycle management for developers.
What does not
Docker does not run natively on Windows or macOS. It relies on Linux-specific kernel features, so non-Linux hosts require a Linux VM layer, reintroducing some overhead Docker was meant to avoid.
What it changes
Docker shifts deployment from machine-centric (VMs, bare metal) to process-centric packaging. It makes containerisation the default abstraction for application delivery on Linux—but does not solve configuration drift across host kernels or runtime dependencies outside the container.
Is it worth your time
Yes—if you deploy software on Linux and need consistent runtime environments. It eliminates VM overhead but adds operational complexity for non-Linux platforms and requires deep kernel awareness to debug.