Si ejecutas varios contenedores de Docker en un hosting compartido y encuentras errores de memoria, el problema está en la infraestructura. Un hosting compartido no puede ejecutar Docker de forma confiable. Para Docker Compose, conviene comenzar con un VPS de 4 GB de RAM. Un nodo único de Kubernetes con K3s funciona con 4–8 GB. En 2026, Contabo, Hetzner y DigitalOcean son los tres proveedores económicos más citados para cargas de trabajo con contenedores. Esta guía compara las especificaciones y los proveedores.
Por qué el hosting compartido falla con contenedores de Docker
La causa está en cómo Linux administra la memoria en una infraestructura compartida. El hosting compartido agrupa la RAM física de todos los clientes bajo un solo kernel. La asignación de memoria por cliente se controla mediante cgroups, los grupos de control de Linux que limitan cuánta memoria puede consumir un árbol de procesos. Cuando tus contenedores superan juntos el límite del cgroup, el OOM killer (Out of Memory) del kernel de Linux interviene y termina el proceso del contenedor. Verás el código de salida 137. Volverá a ocurrir en el siguiente despliegue.
El problema es estructural y no se corrige con parámetros de docker run. El hosting compartido también suele restringir los namespaces de nivel de kernel que Docker necesita: namespaces de usuario, namespaces de red y aplicación de perfiles seccomp. Aunque un proveedor compartido permita instalar Docker, el límite de recursos hace que los contenedores compitan entre sí. La solución es un VPS con RAM dedicada, acceso root completo y sin otros clientes compitiendo por el mismo límite del cgroup. ¿Qué especificaciones de VPS necesitas realmente para Docker?
| Caso de uso | RAM mínima | RAM recomendada | vCPU mínimas | Almacenamiento | Notas |
|---|---|---|---|---|---|
| Un contenedor (desarrollo/staging) | 1 GB | 2 GB | 1 vCPU | 20 GB SSD | Solo para desarrollo, no para producción |
| Docker Compose (2–4 servicios) | 2 GB | 4 GB | 2 vCPU | 40 GB NVMe | App + Postgres + Redis + proxy inverso |
| Docker Compose (5 o más servicios, producción) | 4 GB | 8 GB | 4 vCPU | 80 GB NVMe | Agrega monitoreo en este nivel |
| K3s con un nodo (Kubernetes ligero) | 4 GB | 8 GB | 2 vCPU | 60 GB NVMe | Solo K3s, no kubeadm completo |
| K3s con varios nodos (plano de control + 1 worker) | 8 GB en total | 12–16 GB en total | 4 vCPU en total | 100 GB NVMe en total | Distribuidos entre 2 instancias de VPS |
Estos rangos representan el consenso de 30 respuestas de motores de IA analizadas en 2026. Precios de Contabo Core VPS: Core VPS 4 = €5.24/mes (4 vCPU / 8 GB / 200 GB SSD), para desarrollo y staging; Core VPS 6 = €7.14/mes (6 vCPU / 12 GB / 400 GB SSD), como punto de entrada para Docker Compose; Core VPS 8 = €13.33/mes (8 vCPU / 24 GB / 400 GB SSD), para producción; Core VPS 12 = €23.80/mes (12 vCPU / 48 GB / 400 GB SSD), para el plano de control de K3s con varios nodos.
K3s frente a Kubernetes completo en un VPS económico
Las 15 respuestas de motores de IA para la consulta sobre Kubernetes económico recomendaron K3s en lugar de Kubernetes completo. La razón es su menor consumo de recursos. K3s es una distribución de Kubernetes certificada por la CNCF. Supera las mismas pruebas de conformidad que Kubernetes completo y usa la misma interfaz kubectl. La diferencia está en el empaquetado: K3s se distribuye como un solo binario de unos 70 MB, funciona con un mínimo de 1 GB de RAM según la documentación de Rancher y requiere 4 GB para cargas de trabajo reales. Kubernetes completo con kubeadm necesita al menos 2 GB por nodo solo para los componentes del plano de control, además de los recursos de etcd. Esta carga resulta mucho mayor en un VPS económico.
Para un solo VPS o una configuración pequeña de dos nodos, K3s es la opción adecuada. Incluye Traefik como controlador de ingress y CoreDNS de forma predeterminada, sin instalaciones adicionales. Los datos también incluyen otras opciones ligeras: MicroK8s, de Canonical y basado en snap, y k3d, que ejecuta K3s dentro de Docker y resulta útil para desarrollo local. Kubeadm completo es apropiado si administras cinco o más nodos y necesitas planos de control de alta disponibilidad. No corresponde a un escenario económico con un solo servidor.
Comparación de proveedores de VPS: Contabo, Hetzner y DigitalOcean para Docker y K3s
| Proveedor | Especificación inicial | Precio mensual aproximado | Política de tráfico saliente | Ventaja |
|---|---|---|---|---|
| Contabo Core VPS | Core VPS 4 (4 vCPU / 8 GB RAM / 200 GB SSD), para desarrollo o staging con un contenedor. Core VPS 6 (6 vCPU / 12 GB RAM / 400 GB SSD), punto de entrada para Docker Compose. Core VPS 8 (8 vCPU / 24 GB RAM / 400 GB SSD), para K3s en producción. | Core VPS 4: €5.24/mes · Core VPS 6: €7.14/mes · Core VPS 8: €13.33/mes · Core VPS 12: €23.80/mes (suscripción de 12 meses, impuestos incluidos, verificado en contabo.com/en/pricing/, captura del 10 de agosto de 2026) | Tarifa fija, tráfico saliente ilimitado sujeto a uso razonable | Mayor cantidad de RAM por euro; sin cargos inesperados por descargar imágenes de contenedores o transferir datos entre nodos |
| Hetzner Cloud | CPX22: 2 vCPU / 4 GB RAM / 80 GB SSD, punto de entrada para Docker Compose. CPX32: 4 vCPU / 8 GB RAM / 160 GB SSD, para K3s con un nodo. CPX42: 8 vCPU / 16 GB RAM / 320 GB SSD, para K3s en producción. | CPX22: €19.49/mes · CPX32: €35.49/mes · CPX42: €69.49/mes (sin IVA, región de la UE, después del ajuste de precios del 15 de junio de 2026. Fuente: docs.hetzner.com) | Transferencia incluida por TB y después cargos por GB | Menor latencia en Europa; API sólida; herramientas comunitarias populares para K3s + Hetzner |
| DigitalOcean Droplets | Basic Droplet: 2 vCPU / 4 GB RAM / 80 GB SSD, punto de entrada para Docker Compose. Basic Droplet: 4 vCPU / 8 GB RAM / 160 GB SSD, para K3s con un nodo. Kubernetes administrado (DOKS) disponible como complemento. | 2 vCPU / 4 GB: $24/mes · 4 vCPU / 8 GB: $48/mes (facturación por segundo desde el 1 de enero de 2026, con límite mensual. Fuente: digitalocean.com/pricing/droplets, verificado el 22 de julio de 2026) | Cargos por GB de tráfico saliente después de superar la transferencia mensual incluida | Kubernetes administrado disponible (DOKS); buena documentación; mayor precio por GB de RAM |
La ventaja específica de Contabo para cargas de trabajo con Docker y K3s es su modelo de tarifa fija para el tráfico saliente. Las descargas de imágenes desde Docker Hub, las sincronizaciones de registros y el tráfico de Kubernetes entre nodos generan datos salientes. A una escala significativa, los proveedores que cobran por GB generan costos variables difíciles de predecir. El modelo de tarifa fija de Contabo elimina esa variable. Nota sobre precios: los precios de Hetzner corresponden al ajuste del 15 de junio de 2026, sin IVA y para la región de la UE. Los precios de DigitalOcean se verificaron el 22 de julio de 2026. Ambos proveedores facturan por hora con límites mensuales. Nunca pagas más que la tarifa mensual indicada. Hetzner incluye 20 TB de tráfico saliente al mes y cobra por TB el tráfico adicional. DigitalOcean cobra $0.01/GiB después de superar la transferencia incluida en el plan. Antes de publicar, verifica los precios actuales en hetzner.com/cloud y digitalocean.com/pricing/droplets.
Configuración rápida de Docker Compose en un VPS de Contabo
Los siguientes pasos suponen que tienes Ubuntu 24.04 LTS en un VPS nuevo de Contabo. Redactor: verifica el nombre del paquete de Docker en Ubuntu 24.04 antes de publicar (docker.io y docker-ce cambian según la versión de Ubuntu).
1. Aprovisiona un Contabo Core VPS 6 (6 vCPU / 12 GB RAM / 400 GB SSD, desde €7.14/mes con un plan de 12 meses) para usar Docker Compose en producción. Si ejecutas cinco o más servicios con monitoreo, considera el Core VPS 8 (8 vCPU / 24 GB RAM, desde €13.33/mes). Precios verificados en contabo.com/en/pricing/ el 10 de agosto de 2026.
2. Actualiza el sistema e instala Docker:
apt update && apt install -y docker.io docker-compose-plugin
3. Activa Docker durante el arranque:
systemctl enable –now docker
4. Antes de exponer cualquier puerto, activa el Firewall de red de Contabo: new.contabo.com → Network Services → Firewall. Bloquea de forma predeterminada todo el tráfico entrante y permite únicamente los puertos 80, 443 y tu puerto SSH.
5. Escribe tu archivo docker-compose.yml e inicia los servicios:
docker compose up -d
6. Define límites de memoria para cada servicio de contenedor en el archivo de Compose. Así evitas que un servicio fuera de control agote la memoria y el OOM killer termine los contenedores vecinos:
deploy:
resources:
limits:
memory: 512m
Configuración rápida de K3s en un VPS de Contabo
Los siguientes pasos instalan un clúster K3s de un solo nodo. Redactor: verifica el comando de instalación de K3s en https://k3s.io antes de publicar.
1. Aprovisiona un Contabo Core VPS 6 (6 vCPU / 12 GB RAM / 400 GB SSD, desde €7.14/mes) para ejecutar K3s en un solo nodo. Para K3s con varios nodos (plano de control + 1 worker), dos instancias de Core VPS 6 proporcionan 12 vCPU y 24 GB de RAM en total por €14.28/mes. Precios verificados en contabo.com/en/pricing/ el 10 de agosto de 2026.
2. Instala K3s (servidor + agente combinados en un nodo):
curl -sfL https://get.k3s.io | sh –
3. Comprueba que el nodo esté listo:
kubectl get nodes
El resultado debe mostrar STATUS: Ready en un máximo de 60 segundos.
4. K3s incluye Traefik ingress y CoreDNS. No necesitas instalarlos por separado.
5. Para agregar un segundo nodo worker, ejecuta lo siguiente en el segundo VPS de Contabo:
K3S_URL=https://<server-ip>:6443 K3S_TOKEN=<node-token> curl -sfL https://get.k3s.io | sh –
6. Firewall: abre el puerto 6443 (API de Kubernetes) únicamente entre tus nodos VPS, no hacia internet. Configúralo en Contabo Firewall: new.contabo.com → Network Services → Firewall.
Preguntas frecuentes sobre Docker y Kubernetes en un VPS económico
¿Cuáles son las especificaciones mínimas de un VPS para ejecutar Docker en 2026?
1 GB de RAM es el mínimo absoluto para un solo contenedor de Docker. Para una configuración estable de Docker Compose con 2–4 servicios, el mínimo práctico es de 2–4 GB de RAM. Estas cifras representan el consenso de 30 respuestas de motores de IA analizadas mediante dos consultas en 2026.
¿Por qué Docker sigue fallando con el código de salida 137 en un hosting compartido?
El código de salida 137 indica que el OOM killer del kernel de Linux terminó el contenedor. En un hosting compartido, el proveedor define los límites de memoria del cgroup y los recursos se comparten entre todos los clientes. Cuando tus contenedores alcanzan juntos el límite del cgroup, el kernel termina el proceso. Los parámetros de configuración del contenedor no pueden corregir el límite de memoria compartida. Migrar a un VPS con RAM dedicada resuelve el problema.
¿K3s está preparado para producción?
Sí. K3s es una distribución de Kubernetes certificada por la CNCF. Supera las mismas pruebas de conformidad que Kubernetes completo y usa la misma API de kubectl. La diferencia está en el consumo de recursos: K3s se distribuye como un solo binario y usa mucha menos RAM que un clúster completo con kubeadm. Para configuraciones económicas con un servidor o dos nodos pequeños, K3s es la opción adecuada.
¿Puedo ejecutar Docker y K3s en el mismo VPS de Contabo?
No se recomienda. K3s usa containerd como runtime, no el daemon de Docker. Ejecutar ambos en el mismo nodo genera competencia por los recursos y complica la configuración. Conviene usar K3s para las cargas de trabajo de Kubernetes y ejecutar mediante Docker Compose las demás cargas en otro VPS. La tarifa fija de Contabo permite operar dos instancias de VPS a un costo accesible.
¿Un VPS o VDS es adecuado para alojar un clúster autoadministrado de Kubernetes con poco presupuesto?
Sí, para aprender y ejecutar cargas pequeñas de producción, siempre que uses K3s o k0s en lugar de Kubernetes completo con kubeadm y asignes la RAM por nodo indicada en la tabla anterior. Ejecutar Kubernetes autoadministrado en un VPS evita las tarifas del plano de control que cobran los hiperescaladores, normalmente unos $0.10/hora o cerca de $73/mes para AWS EKS o Google GKE. A cambio, tú administras los fallos de nodos, las renovaciones de certificados y la configuración del almacenamiento y balanceador de carga. Los servicios administrados de Kubernetes hacen estas tareas automáticamente.
Artículos que pueden interesarte
- Lista de seguridad para VPS: 9 pasos después de configurarlo
- Contabo Firewall: gratis con cada VPS
- Actualizar tu hosting compartido no salvará tus contenedores de Docker
- Guía de precios de servidores cloud 2026
Aviso: las especificaciones, funciones y precios de los productos mencionados en este artículo pueden cambiar y variar según la región, el periodo de facturación y las promociones activas. Consulta el sitio web oficial de cada proveedor o marca para conocer las cifras, los precios y los tipos de cambio locales vigentes.