Publicado el 26 de julio de 2026 · Revisado el 26 de julio de 2026
Cómo instalar Docker y correr tu primer contenedor en tu VPS, paso a paso
Docker te deja correr aplicaciones aisladas en tu VPS sin ensuciar el sistema base ni pelear con dependencias. Esta guía instala Docker desde cero en un VPS Linux (Ubuntu/Debian) y levanta tu primer contenedor real, explicando qué hace cada paso y por qué.
Si administras un VPS y todavía instalas cada aplicación directamente sobre el sistema operativo, tarde o temprano vas a chocar con el mismo problema: una app necesita una versión de PHP o Node, otra necesita otra distinta, y terminas con un servidor lleno de dependencias que se pisan entre sí. Docker resuelve eso metiendo cada aplicación en su propio contenedor — un paquete aislado con exactamente lo que esa app necesita, sin tocar el resto del servidor. Vamos a instalarlo desde cero y a correr tu primer contenedor real.
Antes de empezar, conéctate a tu VPS por SSH con un usuario que tenga permisos de sudo (si todavía usas el usuario root directamente, ya cubrimos cómo crear uno seguro en la guía de aseguramiento de VPS).
Primero, actualiza el sistema. Docker se instala sobre paquetes del sistema, y una lista de paquetes desactualizada es la causa más común de que la instalación falle a medias:
sudo apt update && sudo apt upgrade -y
Ahora instala los paquetes que Docker necesita para descargarse de forma segura por HTTPS y verificar su firma. Sin esto, el siguiente paso no puede validar que el paquete que estás instalando es realmente el oficial de Docker:
sudo apt install -y ca-certificates curl gnupg
Agrega la clave GPG oficial de Docker. Esto es lo que le permite a tu sistema confirmar que los paquetes vienen de Docker y no de una fuente falsificada:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Agrega el repositorio oficial de Docker a tu lista de fuentes. Los repositorios por defecto de Ubuntu/Debian suelen traer una versión de Docker vieja o directamente no la traen — el repositorio oficial te da la versión actual:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
Instala Docker Engine, la CLI y el plugin de Compose:
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Verifica que el servicio quedó activo:
sudo systemctl status docker
Deberías ver active (running) en verde. Si no arrancó solo, actívalo con sudo systemctl enable --now docker.
Evita tener que escribir sudo antes de cada comando de Docker. Por defecto solo root puede hablarle al demonio de Docker — agregar tu usuario al grupo docker te da ese permiso sin exponer la cuenta root en tu día a día:
sudo usermod -aG docker $USER
Cierra la sesión SSH y vuelve a entrar para que el cambio de grupo tome efecto.
Ahora sí, corre tu primer contenedor para confirmar que todo quedó bien instalado:
docker run hello-world
Si ves un mensaje confirmando que Docker está funcionando correctamente, la instalación quedó completa. Ese contenedor no hace nada útil por sí mismo — es solo la prueba de humo.
Para algo más real, levanta un servidor Nginx en segundo plano, publicado en el puerto 8080 de tu VPS:
docker run -d --name mi-nginx -p 8080:80 nginx
El flag -d lo corre en background (sin bloquear tu terminal), --name le da un nombre fácil de referenciar después, y -p 8080:80 conecta el puerto 80 de dentro del contenedor con el 8080 de tu VPS — sin ese mapeo, el contenedor corre pero nadie desde afuera puede alcanzarlo. Visita http://IP-DE-TU-VPS:8080 en el navegador y deberías ver la página de bienvenida de Nginx.
Para ver qué contenedores tienes corriendo en cualquier momento:
docker ps
Y para detener uno cuando ya no lo necesites:
docker stop mi-nginx
De aquí en adelante, cualquier aplicación que quieras probar — una base de datos, un backend en Node, un panel de administración — la puedes correr en su propio contenedor aislado, sin arriesgar el resto del servidor ni pelear con versiones de dependencias cruzadas. El siguiente paso natural, cuando empieces a correr varios contenedores que dependen entre sí, es Docker Compose — pero eso ya es tema para otra guía.
Eso sí: Docker no reduce lo que tu servidor necesita en RAM y CPU, solo organiza mejor lo que ya tienes — si vas a correr varios contenedores con carga real (una app + su base de datos + un caché), un VPS de entrada se te va a quedar corto rápido. Si buscas la capacidad para escalar contenedores en serio sin migrar de servidor cada dos meses, en /planes/vps tienes los planes con los recursos para hacerlo bien desde el principio.
Artículos relacionados
Carolina
CTO - NAP Latino
www.naplatino.com
soporte@naplatino.com
