65 lines
2.1 KiB
Markdown
65 lines
2.1 KiB
Markdown
---
|
|
title: Docker
|
|
description: Tool overview for Docker as a container runtime and packaging platform
|
|
tags:
|
|
- docker
|
|
- containers
|
|
- infrastructure
|
|
category: tools
|
|
created: 2026-03-14
|
|
updated: 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:
|
|
|
|
```text
|
|
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 `latest` everywhere without a maintenance workflow
|
|
- Running every unrelated workload inside one large Compose project
|
|
|
|
## References
|
|
|
|
- [Docker: Docker overview](https://docs.docker.com/get-started/docker-overview/)
|
|
- [Docker: Networking overview](https://docs.docker.com/engine/network/)
|
|
- [Docker: Volumes](https://docs.docker.com/engine/storage/volumes/)
|
|
- [Compose Specification](https://compose-spec.io/)
|