Containers/ Blueprint¶
Purpose¶
The containers/ domain organizes everything related to container engines, images, runtime behavior, orchestration, and ecosystem tooling.
It separates engine-specific docs (Docker, Podman) from cross-engine concepts like images, networks, volumes, and orchestration (Compose/Kubernetes).
This prevents duplication and keeps the collection evolving smoothly as new tools (Buildah, Skopeo, Finch, Rancher, etc.) join the ecosystem.
Folder layout (future-proof)¶
cheatsheets/
ββ containers/
ββ _index.md # High-level overview (OCI standard, purpose, tools)
ββ engines/
β ββ docker.md # Install, daemon, BuildKit, Compose v2
β ββ podman.md # Install, rootless, pods, Quadlet, docker.sock compat
β ββ notes.md # Common engine quirks or comparisons
ββ images/
β ββ building.md # Dockerfile / Containerfile, multi-arch, BuildKit vs Buildah
β ββ scanning.md # Image scanning (trivy, grype)
β ββ caching.md # Layers, pruning, build cache
ββ registries/
β ββ auth.md # Login, creds store, auth.json, helper tools
β ββ push-pull.md # Tagging, pushing, pulling, skopeo copy
ββ runtime/
β ββ run-basics.md # run/start/stop/logs/exec equivalents
β ββ pods-vs-compose.md # When to use Pods (Podman) vs Compose (Docker)
β ββ systemd-quadlet.md # systemd integration for containers
ββ networking/
β ββ basics.md # bridge/host/macvlan modes, ports
β ββ dns.md # Container DNS, resolv.conf, hosts mapping
ββ storage/
β ββ volumes.md # Named/bind mounts, persistence, SELinux :Z flags
β ββ layers.md # OverlayFS, pruning, cleanup strategies
ββ orchestration/
β ββ compose.md # Compose schema, common stack patterns
β ββ kubernetes.md # Core K8s concepts, manifests, migration from Compose
β ββ quadlet.md # Podman Quadlet + systemd unit patterns
ββ templates/
β ββ compose/ # Prebuilt service templates (MySQL, Redis, Nginx, etc.)
β ββ quadlet/ # Systemd unit templates for rootless containers
β ββ k8s/ # Optional: minimal Deployment/Service manifests
ββ security/
β ββ rootless.md # User namespaces; Podmanβs approach
β ββ capabilities.md # cap drop/add, seccomp, SELinux/AppArmor
β ββ supply-chain.md # SBOMs, signatures, provenance
ββ troubleshooting/
β ββ inspect-and-logs.md # inspect, logs, events, journald
β ββ cleanup.md # prune, orphan cleanup, storage reset
ββ _meta/
ββ blueprint.md # (this file)
````
---
## File naming & style rules
- **One concept per file.**
Keep each note focused β e.g., `volumes.md`, `building.md`, `run-basics.md`.
- **Use kebab-case** filenames (consistent with URLs).
- **Front matter metadata** aligns with the rest of your cheatsheets:
```md
---
title: Podman β Rootless Mode
tags: [containers, podman, rootless]
summary: Understanding rootless containers and user namespaces in Podman.
aliases:
---
-
Titles: βEngine β Conceptβ or βConcept β Focusβ
-
Examples:
Docker β Daemon & Compose,Images β Building,Networking β Basics. - Cross-link pages frequently (e.g., link from
images/building.mdtoregistries/push-pull.md).
Optional: README.md Index per subfolder¶
Example: containers/runtime/README.md
---
title: Container Runtime β Index
tags: [containers, runtime]
summary: Container lifecycle, logs, and system integration.
---
- [Run Basics](./run-basics.md)
- [Pods vs Compose](./pods-vs-compose.md)
- [Systemd & Quadlet](./systemd-quadlet.md)
Quick rename / migration guidance¶
- Existing single-page Docker notes β move to
engines/docker.md - Short templates (e.g., MySQL, Redis, Nginx Compose files) β
templates/compose/ - Rootless systemd or Quadlet examples β
templates/quadlet/ - Conceptual guides (volumes, networking, etc.) β respective subfolders
Future directions (for when you scale)¶
- Add
containers/tools/for Buildah, Skopeo, Trivy, Grype. - Add
containers/integration/for CI/CD, GitHub Actions, image signing. - Add
containers/_meta/summary.mdβ yearly reflection on what grew, what merged, whatβs deprecated.
Core principle¶
Organize by concept, not by engine. Engines change; concepts survive.
Every folder should answer one enduring question:
- Images/ β How do we build and move container blueprints?
- Runtime/ β How do we run and manage containers locally?
- Orchestration/ β How do we run multiple containers together?
- Security/ β How do we trust, sign, and isolate them?
- Troubleshooting/ β How do we inspect and fix them?
Thatβs how you future-proof containers/ without overcomplicating it today.