ADR-026: Docker como runtime de contenedores¶
Estado: aceptado
Contexto¶
SmallCountry ejecuta servicios dentro de contenedores LXC en Proxmox (ADR-018). Dentro de esos LXC, se necesitaba un runtime para desplegar aplicaciones. Las opciones evaluadas fueron Docker, Podman, y contenedores OCI nativos de Proxmox.
Decisión¶
Docker como runtime de contenedores dentro de los LXC de Proxmox. Cada LXC ejecuta Docker para orquestar los servicios de aplicación, usando docker-compose para la configuración declarativa.
Alternativas consideradas¶
| Opción | Por qué se descartó |
|---|---|
| Podman | Menor madurez del ecosistema en el momento de la decisión. Compatibilidad con docker-compose limitada. |
| OCI nativos Proxmox | Tecnología inmadura en Proxmox. Falta de tooling y documentación. Preparado para adoptar cuando madure. |
| Systemd-nspawn | Curva de aprendizaje adicional. Ecosistema más reducido. |
Consecuencias¶
- ✅ Ecosistema masivo de imágenes y tooling
- ✅ docker-compose como configuración declarativa versionable
- ✅ Portainer para gestión visual de contenedores
- ✅ CI puede construir y publicar imágenes en el registro OCI de Forgejo
- ❌ Docker Inc. como dependencia corporativa (mitigado: imágenes cacheadas en registro local)
- ❌ Demonio adicional con consumo de recursos (mitigado: límites duros por LXC via ADR-018)