Saltar a contenido
Docker

Contenedores · Imágenes · Compose · Orquestación

📌 v29.4.3 · 2026-05-06

Docker — Motor de contenedores

El motor de contenedores que ejecuta la mayoría de los servicios de SmallCountry. Cada LXC (contenedor ligero de Proxmox) contiene Docker, y cada servicio se despliega con Docker Compose. Las imágenes se cachean localmente en el registro OCI de Forgejo para no depender de Docker Hub.

Como usuario

No se interactúa con Docker directamente. Sería la capa invisible que hace funcionar cada servicio. Si Docker funciona, tus fotos, tus archivos y tus películas funcionan.

Integración con otros servicios de SmallCountry

Servicio Relación
Forgejo Registro OCI pull-through: todas las imágenes Docker se cachean localmente en Forgejo. Los nodos nunca descargan de Docker Hub
Portainer Panel de gestión de contenedores. Solo lectura y reinicio de emergencia
Ansible Los playbooks de Ansible definen y despliegan los docker-compose.yml de cada servicio
Proxmox VE Docker corre dentro de cada LXC gestionado por Proxmox
Todos los LXCs Cada LXC (excepto los más ligeros) contiene Docker para ejecutar su servicio

Servicios que lo hacen posible

  • Docker Engine — motor de contenedores
  • Docker Compose — orquestación de múltiples contenedores por servicio
  • Forgejo — registro OCI local de imágenes
  • ZFS — almacenamiento persistente de volúmenes Docker
Para el administrador (diseño previsto)
Ubicación Dentro de cada LXC que ejecuta servicios
Portainer LXC 132, acceso en https://portainer.sc

Comandos útiles: docker ps, docker compose up -d, docker compose down, docker logs <servicio> --tail 50. Portainer en LXC 132 muestra todos los contenedores de todos los LXCs (agentes Portainer en cada LXC). Nunca modificar configuración desde Portainer — solo desde Ansible.

Las imágenes nunca se descargan directamente de Docker Hub. El registro OCI de Forgejo actúa como mirror pull-through: la primera descarga va a internet, las siguientes se sirven desde la caché local.

Para el arquitecto (diseño previsto)

Docker dentro de LXC

Proxmox VE (Ra)
└── LXC 150 (Nextcloud)
│   └── Docker
│       ├── nextcloud:29.0.4-apache
│       ├── postgres:16.3
│       └── redis:7.2.5
├── LXC 151 (Immich)
│   └── Docker
│       ├── immich-server
│       ├── immich-machine-learning
│       ├── postgres (pgvector)
│       └── redis
└── LXC 160 (n8n)
    └── Docker
        └── n8n + postgres

Cada servicio se define en un docker-compose.yml versionado en Forgejo. Ansible lo despliega con el rol correspondiente. El registro OCI de Forgejo cachea todas las imágenes. Patrón: docker pull → desde Forgejo Registry (offline si ya está cacheada). Las imágenes pasan cuarentena (60/14/7 días según Tier) antes de producción.

Componente Path
Rol Ansible roles/docker/
Repo Forgejo infra-core/
Ficha versionada docs/fichas/sistemas/docker.md

Secciones relacionadas

🌐 Enlaces de interés

Docker · Documentación · GitHub