Containers & Orchestration

What is Container?

Definition

A container is a lightweight, isolated runtime that packages an application with its dependencies using OS-level virtualization, enabling consistent execution across environments.

A container is a standard unit of software that bundles an application and all its dependencies (code, libraries, configuration files) into a single image. Unlike virtual machines, containers share the host operating system kernel and run as isolated processes using operating system features like Linux namespaces and control groups (cgroups). This makes them more resource-efficient and faster to start than VMs.

Containers are built from images, often stored in registries like Docker Hub. The Open Container Initiative (OCI) defines industry standards for container images and runtimes (e.g., runc). Orchestration tools like Kubernetes manage container lifecycles across clusters, automating deployment, scaling, and networking. Containers have become fundamental to modern cloud-native development, microservices architectures, and continuous integration/continuous delivery (CI/CD) pipelines.

In the wider stack, containers sit between the host OS and the application, abstracting away infrastructure differences. They provide process isolation while retaining low overhead, allowing many containers to run on the same host. This isolation is not as strong as a hypervisor’s, but sufficient for most application workloads. Security measures like seccomp and AppArmor further harden container boundaries.

Key facts

  • Containers use OS-level virtualization, sharing the host kernel.
  • They are defined by OCI standards (image spec and runtime spec).
  • They offer faster startup and lower overhead than virtual machines.
  • Isolation is achieved via Linux namespaces and cgroups.
  • Docker popularized the format, but alternatives like containerd exist.

How it works in practice

A typical use case is packaging a Python web app with Flask, its dependencies, and an Nginx reverse proxy into two containers. The containers run on a single host without needing a full OS per service. Developers can test the same image locally and deploy to production with confidence that behavior will be identical.

Related terms

Docker Kubernetes Pod Container image Orchestration Microservices OCI runtime

References

More in Containers & Orchestration

ConfigMap

A ConfigMap is a Kubernetes API object used to store non-confidential configuration data in key-value pairs, which pods can consume as environment variables, command-line arguments, or configuration files.

Container Image

A container image is a lightweight, standalone, executable package that includes everything needed to run a piece of software: code, runtime, system tools, libraries, and settings. It is the unit of distribution in container ecosystems like Docker and Kubernetes.

Container Registry

A container registry is a service that stores and distributes container images, enabling developers to push, pull, and version images across environments.

Container Runtime

A container runtime is the low-level software that creates, starts, and stops containers according to the OCI runtime specification, enabling process isolation and resource management.

Docker

Docker is a platform and toolchain for packaging, distributing, and running applications inside lightweight, portable containers, popularising the technology from 2013 onward.

Helm

Helm is a package manager for Kubernetes that uses charts to define, install, and upgrade complex applications as a single, versioned unit.

Ingress Controller

An Ingress Controller is a Kubernetes component that watches Ingress resources and configures a reverse proxy to route external HTTP and HTTPS traffic to services inside the cluster.

Init Container

An init container is a specialized container in a Kubernetes pod that runs to completion before any regular containers start, performing initialization or setup tasks.

Kubernetes

Kubernetes is an open source platform for automating the deployment, scaling, and management of containerized applications across clusters of hosts.

Operator

A Kubernetes Operator is a custom controller that extends the Kubernetes API to automate the management of a specific application, encoding human operational knowledge as code.

Who Is Online

In total there are 67 users online: 0 registered, 59 guests and 8 bots.

Most users ever online was 5,555 on 17 Jul 2026, 3:23 am.

Bots: AhrefsBot Applebot Baiduspider Bingbot Other Bot Other Crawler PetalBot SemrushBot

Users active in the past 15 minutes. Total registered members: 369