Introduction to Container Technology#
Note The “container” mentioned here refers to the technology itself. Docker is just one implementation of container technology.
- 1990s: PCs
- 2000s: Virtualization
- 2010s: Cloud
- 2011 onward: Containers
What is a container?#
A container is a fast packaging technology.
- Lightweight
- Standardized
- Portable
Why did container technology emerge?#
Before containers:

After containers:

Containers vs Virtual Machines:

Linux Container technology was introduced in 2008 (Docker came in 2013), solving the “shipping container” problem in IT. Linux Container (LXC) is a lightweight OS-level virtualization technology in the kernel. LXC is primarily powered by two mechanisms: Namespace and Cgroups.
- Namespace is mainly used for resource isolation (introduced in 2002)
- Cgroups (Control Groups) are responsible for resource control, such as CPU/MEM limits, process group priority, suspend, and resume (contributed by Google and merged into the Linux kernel in 2008)
Container Standardization#
In 2015, Google, Docker, Red Hat, and others jointly launched the OCI (Open Container Initiative) to promote container standardization.
Runtime Specification (runtime spec)#
Defines core operations such as pulling images, creating containers, and starting containers.
Image Specification (image spec)#
Defines the base format of container images.
Core Value of Containers: Efficiency#
- Improve software development efficiency
- Accelerate build and compile workflows
- Improve testing efficiency
- Reduce deployment time
- Speed up release iterations
- Improve failure recovery speed
Rapid Growth and Adoption#
Note More than 50% of companies worldwide are expected to use containers in production.
Docker Architecture#


