api: YAML JSON TOON Database
version: 1.0.0
format: yaml
dataset:
  id: 2759
  slug: containerization
  title: Containerization Concepts
  description: Key concepts and terminology in containerization and container orchestration.
  summary: "The concepts behind containers: images, runtimes, registries, orchestration and service meshes, with the Linux kernel features and open standards underneath them, namely namespaces, cgroups, layered file systems and the OCI specifications, and the tool commonly associated with each."
  use_when:
    - You are explaining how containers differ from virtual machines.
    - You need to name the kernel feature or tool responsible for isolation, resource limits or packaging.
  caveats:
    - Containers share the host kernel. Namespaces and cgroups isolate and limit, but a kernel flaw affects every container on the host.
    - "'Docker' is both a company, a tool and a format; the OCI standards let other runtimes use the same images."
  related:
    - container-orchestration
    - virtualization-concepts
    - cloud-service-models
  entry_count: 14
  fields:
    - section: data
      field: concept
      type: string
      example: Container Image
    - section: data
      field: description
      type: string
      example: Immutable, layered filesystem containing applic…
    - section: data
      field: tool
      type: string
      example: Dockerfile, BuildKit
  category: Cloud Computing
  category_slug: cloud-computing
  tags: cloud,containers,docker,kubernetes,devops
  view_count: 38
  created_at: 1793403093
  updated_at: 1793403093
data:
  - concept: Container Image
    description: Immutable, layered filesystem containing application code, runtime, and dependencies.
    tool: Dockerfile, BuildKit
  - concept: Container Runtime
    description: Software that runs and manages containers.
    tool: containerd, runc, CRI-O
  - concept: Container Registry
    description: Storage and distribution system for container images.
    tool: Docker Hub, GHCR, ECR, ACR
  - concept: Orchestration
    description: Automated management of container lifecycles across clusters.
    tool: Kubernetes, Docker Swarm, Nomad
  - concept: Service Mesh
    description: Infrastructure layer handling service-to-service communication.
    tool: Istio, Linkerd, Envoy
  - concept: Container Network Interface (CNI)
    description: Plugin interface for configuring network connectivity.
    tool: Calico, Flannel, Cilium
  - concept: Persistent Storage
    description: Storage that persists beyond the container lifecycle.
    tool: PersistentVolume, CSI drivers
  - concept: Dockerfile
    description: A text recipe describing how to build an image, one instruction per layer.
    tool: Docker, Podman, BuildKit
  - concept: Layered Filesystem
    description: Images are stacks of read-only layers with a writable layer on top, so common layers are shared and cached.
    tool: OverlayFS
  - concept: Namespaces
    description: Linux kernel feature that gives a process its own view of processes, network, mounts and users.
    tool: Linux kernel
  - concept: Control Groups
    description: Linux kernel feature that limits and accounts for CPU, memory and I/O used by a group of processes.
    tool: Linux kernel (cgroups)
  - concept: Open Container Initiative
    description: Open standards for image format and runtime so images run across compatible tools.
    tool: OCI image and runtime specs
  - concept: Rootless Containers
    description: Running containers without root privileges on the host to reduce the impact of a breakout.
    tool: Podman, rootless Docker
  - concept: Multi-Stage Build
    description: Using several build stages and copying only the results into the final image to keep it small.
    tool: Docker, BuildKit
