Cómo instalar Docker en un VPS Ubuntu: guía paso a paso en 2026
Por qué Docker ha cambiado la forma de desplegar aplicaciones en un VPS
Hace unos años, instalar una aplicación en un servidor implicaba configurar dependencias, versiones de librerías y variables de entorno que podían entrar en conflicto entre sí. Si tenías dos aplicaciones que necesitaban versiones diferentes de Python o Node.js en el mismo servidor, el problema se complicaba rápidamente.
Docker resuelve esto de forma elegante: cada aplicación vive en su propio contenedor, con sus propias dependencias, completamente aislada del resto. El servidor puede correr diez aplicaciones con diez entornos diferentes sin que interfieran entre sí. Y cuando necesitas mover una aplicación a otro servidor, la mueves entera, con todo su entorno incluido.
Hoy Docker es el estándar de facto para desplegar aplicaciones en producción. N8N, Outline, Ghost, Nextcloud, Gitea, Grafana, Portainer y cientos de herramientas más se instalan en minutos con Docker frente a horas de configuración manual. Esta guía explica cómo instalar Docker en un VPS Ubuntu y dejarlo listo para producción.
Qué necesitas antes de empezar
Para seguir esta guía necesitas:
Un VPS con Ubuntu 22.04 LTS o 24.04 LTS. Ambas versiones son compatibles con Docker y tienen soporte a largo plazo. Si tienes otra distribución Linux, el proceso es similar pero los comandos de instalación varían.
Acceso root o usuario con privilegios sudo. Si acabas de contratar el VPS, tendrás acceso root por defecto.
Conexión SSH al servidor. Si no has configurado SSH antes, necesitas el usuario, la contraseña o la clave SSH que te proporcionó el proveedor al crear el VPS.
Un dominio apuntando al VPS si planeas exponer aplicaciones en internet. No es obligatorio para la instalación de Docker, pero sí para usar las aplicaciones desde fuera.
Paso 1: Conecta al VPS por SSH
Abre el terminal en tu ordenador y conecta al VPS con el siguiente comando, sustituyendo la IP por la de tu servidor:
bash
ssh root@IP_DEL_SERVIDOR
Si usas clave SSH en lugar de contraseña:
bash
ssh -i ruta/a/tu/clave.pem root@IP_DEL_SERVIDOR
Una vez conectado verás el prompt del servidor. A partir de aquí todos los comandos se ejecutan en el VPS, no en tu ordenador.
Paso 2: Actualiza el sistema
Antes de instalar cualquier cosa, actualiza los paquetes del sistema para asegurarte de que tienes las últimas versiones de seguridad:
bash
apt update && apt upgrade -y
Este comando puede tardar unos minutos dependiendo de cuántas actualizaciones haya pendientes. Cuando termine, el sistema está listo para la instalación.
Paso 3: Instala Docker
La forma recomendada de instalar Docker en Ubuntu es usando el script oficial de Docker. Es el método más rápido y garantiza que instalas la versión más reciente directamente desde los repositorios de Docker, no la versión más antigua que suele estar en los repositorios de Ubuntu.
bash
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
El script detecta automáticamente la distribución y versión de Ubuntu, añade el repositorio oficial de Docker e instala Docker Engine, Docker CLI y el plugin de Docker Compose.
Cuando termine, verifica que Docker se ha instalado correctamente:
bash
docker --version
Deberías ver algo como Docker version 26.x.x, build xxxxxxx.
Paso 4: Verifica que Docker funciona
Ejecuta el contenedor de prueba oficial de Docker para confirmar que todo funciona:
bash
docker run hello-world
Si Docker está correctamente instalado, verás un mensaje que empieza con «Hello from Docker!». Ese mensaje confirma que Docker puede descargar imágenes, crear contenedores y ejecutarlos sin problemas.
Paso 5: Instala Docker Compose
Docker Compose permite definir y gestionar aplicaciones con múltiples contenedores usando un archivo YAML. Es imprescindible para la mayoría de aplicaciones modernas que usan más de un servicio (por ejemplo, una aplicación web más su base de datos).
En las versiones recientes de Docker, Compose viene incluido como plugin. Verifica que está disponible:
bash
docker compose version
Si el comando devuelve una versión, ya lo tienes instalado. Si no, instálalo manualmente:
bash
apt install docker-compose-plugin -y
Paso 6: Configura Docker para que arranque con el sistema
Por defecto, Docker arranca automáticamente con el servidor. Verifica que el servicio está habilitado:
bash
systemctl is-enabled docker
Si devuelve enabled, está configurado correctamente. Si no:
bash
systemctl enable docker
systemctl start docker
Esto garantiza que Docker y todos los contenedores configurados para reiniciarse automáticamente volverán a estar operativos después de un reinicio del servidor.
Paso 7: Crea un usuario no root para Docker (recomendado)
Por seguridad, es mejor no usar Docker directamente como root en el día a día. Puedes añadir tu usuario al grupo docker para ejecutar comandos Docker sin sudo:
bash
usermod -aG docker tu_usuario
Sustituye tu_usuario por el nombre del usuario que quieras usar. Después cierra la sesión SSH y vuelve a conectarte para que el cambio tenga efecto.
A partir de ahora puedes ejecutar comandos Docker sin sudo con ese usuario.
Paso 8: Despliega tu primera aplicación con Docker
Con Docker instalado puedes desplegar cualquier aplicación en minutos. Un ejemplo práctico: levantar Nginx como servidor web de prueba.
bash
docker run -d -p 80:80 --name mi-nginx nginx
Este comando descarga la imagen oficial de Nginx, crea un contenedor llamado mi-nginx, lo ejecuta en segundo plano (-d) y mapea el puerto 80 del contenedor al puerto 80 del servidor (-p 80:80).
Abre el navegador y escribe la IP de tu VPS. Deberías ver la página de bienvenida de Nginx. Con un solo comando tienes un servidor web funcionando.
Para detener y eliminar el contenedor:
bash
docker stop mi-nginx
docker rm mi-nginx
Gestionar contenedores: comandos esenciales
Estos son los comandos de Docker que usarás con más frecuencia en el día a día:
Ver los contenedores en ejecución:
bash
docker ps
Ver todos los contenedores, incluidos los detenidos:
bash
docker ps -a
Ver los logs de un contenedor:
bash
docker logs nombre_contenedor
Reiniciar un contenedor:
bash
docker restart nombre_contenedor
Ver el uso de recursos de los contenedores activos:
bash
docker stats
Eliminar imágenes y contenedores sin usar para liberar espacio:
bash
docker system prune -a
Instalar aplicaciones con Docker Compose
La mayoría de aplicaciones que se despliegan en VPS usan Docker Compose para definir todos sus servicios en un archivo docker-compose.yml. El flujo es siempre el mismo:
Crea un directorio para la aplicación:
bash
mkdir /opt/mi-aplicacion
cd /opt/mi-aplicacion
Crea el archivo docker-compose.yml con la configuración de la aplicación. Por ejemplo, para N8N:
yaml
version: '3.8'
services:
n8n:
image: n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=tudominio.es
- WEBHOOK_URL=https://tudominio.es/
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
Levanta la aplicación:
bash
docker compose up -d
Docker descarga las imágenes necesarias, crea los contenedores y los pone en marcha. La aplicación está disponible en el puerto definido.
Para actualizarla a la última versión:
bash
docker compose pull
docker compose up -d
Qué VPS necesitas para Docker
Docker en sí consume pocos recursos, pero las aplicaciones que corren dentro de los contenedores sí los consumen. La regla general es dimensionar el VPS según las aplicaciones que vayas a alojar, no según Docker.
Para un uso básico —una o dos aplicaciones ligeras como N8N, Ghost o Gitea— un VPS con 2 núcleos y 4 GB de RAM es suficiente. Para aplicaciones más pesadas o varios servicios simultáneos, 4 núcleos y 8 GB es un punto de partida más cómodo.
Los VPS de BlumHost vienen con Ubuntu disponible como sistema operativo y se entregan en minutos. Puedes seguir esta guía desde el primer acceso SSH sin ninguna configuración previa adicional. Si necesitas más potencia, los VPS optimizados con CPU Ryzen y RAM DDR5 son la opción para cargas de trabajo más exigentes.
Preguntas frecuentes sobre Docker en VPS
¿Docker funciona en todos los planes de VPS de BlumHost? Sí. Docker funciona en cualquier VPS con Linux y acceso root. Todos los planes de VPS de BlumHost permiten instalar Docker sin restricciones.
¿Puedo usar Docker junto con un panel de control como cPanel o Plesk? No es recomendable mezclar Docker con cPanel en el mismo servidor. cPanel gestiona el servidor de forma global y puede entrar en conflicto con los contenedores Docker. Si quieres usar Docker, lo más limpio es un VPS sin panel de control gestionado manualmente.
¿Qué pasa con los datos si el contenedor se reinicia? Los datos dentro de un contenedor se pierden si el contenedor se elimina. Por eso es imprescindible usar volúmenes de Docker para persistir los datos importantes fuera del contenedor, como se muestra en el ejemplo del docker-compose.yml.
¿Docker afecta a la seguridad del servidor? Docker tiene su propio modelo de seguridad basado en el aislamiento de contenedores. Sin embargo, no sustituye a las buenas prácticas de seguridad del servidor: mantener el sistema actualizado, usar autenticación SSH con clave, configurar un firewall y no exponer puertos innecesarios. Puedes consultar la guía de seguridad para VPS Linux de BlumHost para los pasos básicos recomendados.
¿Puedo instalar Portainer para gestionar Docker con interfaz gráfica? Sí. Portainer es una interfaz web para gestionar Docker visualmente. Se instala como un contenedor más y es especialmente útil si prefieres no trabajar siempre desde la terminal.
