A design approach where applications are packaged with their dependencies into lightweight, portable containers that run consistently across different environments. Like shipping goods in standardized containers that can be loaded onto any truck, ship, or train.
A development team uses the container pattern to package their Node.js application with specific versions of all libraries, ensuring it runs identically on developer laptops, test servers, and production Kubernetes clusters.
The container pattern is implemented using container runtimes (e.g., Docker/containerd) and is commonly operated via managed orchestration (EKS/AKS/GKE/OKE) or serverless container platforms (Cloud Run, Azure Container Apps). These services run container images consistently across environments; Kubernetes-based services focus on cluster orchestration, while serverless container services abstract most infrastructure management.