2.1 KiB
2.1 KiB
title, description, tags, category, created, updated
| title | description | tags | category | created | updated | |||
|---|---|---|---|---|---|---|---|---|
| Docker | Tool overview for Docker as a container runtime and packaging platform |
|
tools | 2026-03-14 | 2026-03-14 |
Docker
Summary
Docker is a container platform used to package and run applications with their dependencies in isolated environments. In self-hosted systems, it is often the default runtime for lightweight service deployment and reproducible application stacks.
Why it matters
Docker reduces packaging inconsistency and makes service deployment more repeatable than hand-built application installs. It also provides a practical base for Compose-managed stacks in small to medium self-hosted environments.
Core concepts
- Images and containers
- Registries as image distribution points
- Volumes for persistent data
- Networks for service connectivity
- Compose for multi-service application definitions
Practical usage
Docker commonly fits into infrastructure as:
Image registry -> Docker host -> containerized services -> reverse proxy or internal clients
Typical uses:
- Hosting web apps, dashboards, automation tools, and utility services
- Running small multi-container stacks with Compose
- Keeping application deployment separate from the base OS lifecycle
Best practices
- Pin images intentionally and update them through a reviewed process
- Use named volumes or clearly documented bind mounts for state
- Put multi-service stacks under Compose and version control
- Keep ingress and persistence boundaries explicit
Pitfalls
- Treating containers as ephemeral while silently storing irreplaceable state inside them
- Publishing too many host ports directly
- Using
latesteverywhere without a maintenance workflow - Running every unrelated workload inside one large Compose project