1.3 KiB
1.3 KiB
ADR-001: Podman Over Docker
Status: Accepted Date: 2026-03
Context
Archipelago needs a container runtime for running applications. Docker and Podman are the two main options.
Decision
Use Podman as the container runtime instead of Docker.
Consequences
Positive
- Rootless by default: Containers run without root privileges, reducing attack surface
- Daemonless: No persistent daemon process; containers are managed as individual processes under systemd
- Docker-compatible: Supports Docker images and most Docker CLI commands
- Systemd integration: Podman containers can be managed as systemd services natively
- No vendor lock-in: OCI-compliant, works with any container registry
Negative
- Smaller ecosystem: Some Docker-specific tools and compose features require adaptation
- Docker Compose differences: Podman Compose exists but has occasional compatibility gaps
- Documentation: Most container documentation assumes Docker; developers need to translate
- Networking: Podman networking (CNI/netavark) differs from Docker's bridge networking
Mitigation
- Use
podmanCLI wrapper that provides Docker-compatible interface - Document Podman-specific commands in developer guide
- Use
archy-netcustom network for inter-container DNS