¿Qué Hosting usar con Docker?
Tiempo de lectura: 7 minutosDocker no funciona bien en hosting compartido porque requiere acceso al kernel del sistema operativo. Para ejecutar contenedores en producción, necesitas un servidor VPS o dedicado que te dé control total sobre el entorno.
¿Qué es Docker y por qué importa la infraestructura?
Docker es una plataforma de contenedores que permite empaquetar una aplicación junto con todas sus dependencias —librerías, configuraciones, variables de entorno— en una unidad portátil llamada contenedor. Ese contenedor se ejecuta de forma aislada del sistema operativo anfitrión, pero comparte su kernel.
Esto tiene ventajas claras: el entorno de desarrollo es idéntico al de producción, las aplicaciones no se interfieren entre sí, y escalar o replicar servicios se vuelve mucho más sencillo.
Sin embargo, precisamente porque Docker necesita acceso directo al kernel del sistema operativo y a funciones de bajo nivel como namespaces, cgroups y el demonio dockerd, su uso implica requisitos de infraestructura que no todos los tipos de hosting pueden satisfacer.
Para pymes, desarrolladores y emprendedores que quieren alojar aplicaciones propias, bots, APIs, herramientas de automatización o modelos de inteligencia artificial, Docker se ha convertido en el estándar de facto. Pero elegir mal el hosting puede significar horas perdidas intentando instalar algo que el servidor simplemente no permite ejecutar.
Por qué el hosting compartido no es compatible con Docker
En un hosting compartido, muchos usuarios comparten el mismo servidor físico. El proveedor restringe el acceso al sistema operativo para que ningún usuario pueda afectar a los demás. Eso implica, entre otras cosas, que no se puede instalar software a nivel de sistema, no se tiene acceso root y no se puede ejecutar el demonio de Docker.
Los intentos de usar Docker en hosting compartido terminan siempre igual: el comando docker simplemente no existe, y no hay forma de instalarlo sin permisos de administrador.
Lo mismo aplica a la mayoría de los hosting de WordPress administrado o planes orientados a CMS: están optimizados para PHP y MySQL, no para ejecutar servicios en contenedores.
Si tu proyecto usa Docker, necesitas un entorno donde tengas control total del servidor. Y eso significa VPS o servidor dedicado.
Para entender mejor cuándo un hosting compartido resulta suficiente y cuándo no, este artículo sobre cuándo conviene contratar un hosting compartido explica bien los límites reales de ese tipo de plan.
Qué tipo de hosting usar con Docker
Hosting VPS: la opción más recomendada
Un servidor VPS (Virtual Private Server) es la elección más habitual para proyectos con Docker. Ofrece un entorno virtualizado con recursos dedicados, acceso root completo y la posibilidad de instalar cualquier software, incluyendo Docker y Docker Compose.
Con un VPS puedes:
- Instalar y ejecutar el demonio de Docker sin restricciones
- Gestionar múltiples contenedores con Docker Compose
- Configurar redes internas entre servicios
- Definir volúmenes persistentes para bases de datos y archivos
- Usar herramientas como Portainer para gestión visual
Para la mayoría de los proyectos de desarrolladores independientes, startups o pymes que necesitan alojar aplicaciones propias, un VPS con 2–4 GB de RAM es suficiente para comenzar. Si el proyecto crece, escalar los recursos es más sencillo que en un entorno compartido.

Neolo ofrece hosting VPS con acceso root completo, soporte técnico atendido por personas reales y servidores en múltiples regiones del mundo. Es una opción sólida para quienes necesitan un entorno limpio donde instalar Docker desde cero, con la tranquilidad de que si algo falla en la configuración, hay alguien que responde sin tiempos de espera largos.
Servidores dedicados: para cargas de trabajo intensivas
Si la aplicación Dockerizada tiene requisitos de recursos elevados —procesamiento intensivo, muchos contenedores en paralelo, grandes volúmenes de datos— un servidor dedicado es la mejor opción. A diferencia del VPS, no comparte recursos físicos con otros usuarios.
Es la elección habitual para plataformas de producción consolidadas, entornos de CI/CD con muchos pipelines o aplicaciones con tráfico alto y constante.
¿Qué pasa con el cloud hosting?
Las plataformas de cloud como AWS, Google Cloud o DigitalOcean también permiten ejecutar Docker. Sin embargo, para proyectos donde el control de costos es prioritario —como en una pyme o emprendimiento— los precios variables del cloud pueden volverse impredecibles. Un VPS con precio fijo mensual suele ser más conveniente cuando el tráfico es estable y predecible.
Cómo configurar Docker en un VPS paso a paso
A continuación se describe el proceso estándar para instalar Docker en un VPS con Ubuntu 22.04 LTS, que es una de las distribuciones más comunes.
1. Conectarse al VPS por SSH
ssh root@tu-ip-del-vps
2. Actualizar el sistema
apt update && apt upgrade -y
3. Instalar dependencias previas
apt install -y ca-certificates curl gnupg lsb-release
4. Agregar el repositorio oficial de Docker
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
5. Instalar Docker Engine
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
6. Verificar que Docker funciona
docker run hello-world
Si el contenedor se ejecuta y muestra el mensaje de bienvenida, la instalación está completa.
7. Instalar Docker Compose (si no viene incluido)
En versiones recientes de Docker, docker compose ya está integrado como plugin. Se puede verificar con:
docker compose version
8. Crear un usuario no root para Docker
En producción, no es recomendable ejecutar Docker como root. Se puede crear un usuario con permisos para Docker:
useradd -m -s /bin/bash appuser
usermod -aG docker appuser
Este paso evita que un error en un contenedor comprometa el acceso completo al servidor.
Errores comunes al alojar Docker en producción
Ejecutar todos los contenedores como root
Es el error más frecuente. Si un atacante compromete un contenedor que corre como root, tiene una vía directa para escalar privilegios en el host. Siempre se deben definir usuarios específicos en el Dockerfile con la instrucción USER.
No usar volúmenes persistentes para bases de datos
Los contenedores son efímeros por naturaleza. Si se elimina un contenedor de PostgreSQL o MySQL sin tener un volumen montado, se pierden todos los datos. En la práctica, esto ocurre más seguido de lo que parece, especialmente cuando alguien ejecuta docker compose down sin revisar qué datos persisten.
El correcto uso de volúmenes en docker-compose.yml se ve así:
volumes:
db_data:
services:
db:
image: postgres:15
volumes:
- db_data:/var/lib/postgresql/data
No limitar los recursos de los contenedores
Sin límites de CPU y memoria, un contenedor mal optimizado puede consumir todos los recursos del VPS y afectar a los demás servicios. Se recomienda definir límites desde el inicio:
services:
app:
image: mi-aplicacion
deploy:
resources:
limits:
cpus: '0.5'
memory: 512M
Exponer puertos innecesarios al exterior
Por defecto, cuando se publica un puerto con -p, Docker lo expone públicamente, ignorando las reglas del firewall de ufw. Es un error de seguridad común. Para servicios internos como bases de datos, conviene usar redes internas de Docker y no publicar el puerto.
Para profundizar en la protección del servidor, esta guía sobre seguridad para proteger un VPS de ataques cubre los aspectos esenciales que todo administrador de servidor debe tener en cuenta.
Consejos para Docker en servidores
Usar docker system prune con regularidad
Los contenedores detenidos, imágenes no usadas y capas intermedias acumulan espacio en disco silenciosamente. En un VPS con almacenamiento limitado, esto puede causar problemas en semanas. Se recomienda programar una limpieza periódica:
docker system prune -f --volumes
Hacerlo con cuidado: el flag --volumes también elimina volúmenes no usados.
Usar redes personalizadas en lugar de la red por defecto
La red bridge por defecto de Docker permite que todos los contenedores se comuniquen entre sí sin restricciones. Crear redes específicas por servicio reduce la superficie de ataque y mejora la organización:
networks:
backend:
frontend:
services:
app:
networks:
- backend
- frontend
db:
networks:
- backend
Aprovechar los health checks para reinicio automático
Docker puede reiniciar un contenedor automáticamente si detecta que no responde. Configurar un health check evita que un servicio caído pase desapercibido:
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
interval: 30s
timeout: 10s
retries: 3
Usar Watchtower para actualizaciones automáticas de imágenes
Watchtower es un contenedor que monitoriza las imágenes en uso y las actualiza automáticamente cuando hay nuevas versiones disponibles. Útil para proyectos donde las actualizaciones de seguridad son frecuentes y no hay un pipeline de CI/CD configurado.
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower
Configurar logs con rotación
Por defecto, Docker guarda los logs de los contenedores sin límite de tamaño. En producción, esto puede llenar el disco en poco tiempo. Se recomienda configurar el driver de logs con rotación en /etc/docker/daemon.json:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
Para quienes trabajan con herramientas de automatización como n8n dentro de contenedores Docker, vale la pena revisar cómo se estructura la infraestructura necesaria en este artículo sobre qué es n8n y para qué sirve.
Lo que dicen los clientes de Neolo
★★★★★ Esteban Lopez
«Excelente hosting. Muchísimo mejor que Hostinger, SiteGround o HostGator.»★★★★★ Pablo Gutiérrez
«Destaco la velocidad de su soporte y el tiempo de actividad del servidor, que es del 100%.»★★★★★ Matias
«Es la única empresa que supo resolver todos los problemas que tenía con el hosting. Soporte constante y super profesional.»
Preguntas frecuentes
¿Puedo usar Docker en un hosting compartido?
No. El hosting compartido no permite acceso root ni la instalación del demonio de Docker. Para ejecutar contenedores necesitas un VPS o servidor dedicado donde tengas control completo del sistema operativo.
¿Cuánta RAM necesita un VPS para correr Docker?
Depende de los contenedores que se ejecuten. Para proyectos pequeños —una API, una base de datos y un proxy inverso— un VPS con 2 GB de RAM puede ser suficiente. Para aplicaciones más complejas o múltiples servicios en paralelo, se recomienda empezar con 4 GB y escalar según el uso real.
¿Docker y Docker Compose son lo mismo?
No. Docker es la plataforma base que ejecuta contenedores individuales. Docker Compose es una herramienta que permite definir y gestionar aplicaciones multi-contenedor mediante un archivo docker-compose.yml. En proyectos reales, casi siempre se usan juntos.
¿Es seguro ejecutar Docker en producción?
Sí, si se configuran bien los permisos, se limitan los recursos, se usan redes internas para servicios sensibles y se evita ejecutar contenedores como root. Docker en producción tiene un perfil de seguridad razonable si se siguen las buenas prácticas documentadas por el propio proyecto Docker.
¿Qué es Portainer y vale la pena usarlo?
Portainer es una interfaz web para gestionar contenedores Docker sin usar la línea de comandos. Es especialmente útil para equipos donde no todos los miembros tienen experiencia con CLI. Se puede instalar como un contenedor más y consume pocos recursos. Para proyectos pequeños y medianos, reduce considerablemente el tiempo de gestión.
¿Puedo usar Docker con n8n, Mattermost u otras herramientas autoalojadas?
Sí. De hecho, la mayoría de las herramientas autoalojadas modernas —n8n, Mattermost, Nextcloud, GitLab— publican imágenes oficiales de Docker. Esto simplifica enormemente la instalación y el mantenimiento, ya que toda la configuración se puede definir en un docker-compose.yml.
¿Qué diferencia hay entre un VPS y un servidor dedicado para Docker?
En un VPS, los recursos físicos (CPU, RAM, almacenamiento) se comparten entre múltiples instancias virtuales del mismo servidor físico. En un servidor dedicado, todos los recursos son exclusivos. Para la mayoría de los proyectos de pymes o desarrolladores independientes, un VPS bien dimensionado es más que suficiente. Los servidores dedicados tienen sentido cuando las cargas de trabajo son constantes, intensivas y predecibles.
Conclusión
Docker requiere control real sobre el servidor. Ni el hosting compartido ni la mayoría de los planes de WordPress administrado ofrecen el acceso necesario para ejecutar contenedores. La solución es clara: un VPS con acceso root.
Si estás evaluando dónde alojar tu próxima aplicación Dockerizada, Neolo ofrece hosting VPS con soporte técnico humano, alta disponibilidad y más de 20 años de experiencia desde que se fundó en 2002. Es una empresa bootstrapped que no depende de inversores, lo que significa que sus decisiones están orientadas a mantener clientes satisfechos, no a cumplir métricas para un fondo. Además, incluye garantía de reembolso de 30 días si el servicio no cumple las expectativas.
Para proyectos que requieren configuración inicial, escalado futuro o simplemente la tranquilidad de tener a alguien que responde cuando algo falla a las 2 de la mañana, esa combinación de infraestructura y soporte real marca una diferencia práctica.

