Saltar al contenido
Inicio/Blog/Docker en tu VPS
VPS

Docker en tu VPS: Guía Completa para Desplegar Contenedores

Santiago M.
Santiago M.Ingeniero de Infraestructura
· 1 sep 2026 · 7 min de lectura
Placa de circuito de un servidor, representando infraestructura de contenedores

Si alguna vez instalaste una app en tu VPS y terminaste peleando con versiones de librerías que chocan entre sí, Docker resuelve exactamente ese problema: empaqueta tu aplicación junto con todo lo que necesita para correr, aislada del resto del sistema. No es magia, es un contenedor — y en un VPS con acceso root, es una de las herramientas más útiles que puedes aprender.

Qué es Docker y por qué te conviene en un VPS

Docker empaqueta una aplicación junto con sus dependencias (librerías, versión de lenguaje, variables de entorno) en una unidad llamada contenedor. A diferencia de una máquina virtual, un contenedor no simula hardware completo ni arranca su propio sistema operativo: comparte el kernel de tu VPS, así que arranca en segundos y consume una fracción de los recursos. Esto te permite correr varias aplicaciones con requisitos distintos (una app en Node 18, otra en PHP 8.1, una base de datos) en el mismo servidor sin que se pisen entre sí.

Instalar Docker en tu VPS paso a paso

En un VPS con Ubuntu o Debian, la forma más confiable es usar el script oficial de conveniencia de Docker, que detecta tu distribución y configura los repositorios correctos automáticamente:

PasoComando
Descargar el script oficialcurl -fsSL https://get.docker.com -o get-docker.sh
Ejecutarlosudo sh get-docker.sh
Verificar la instalacióndocker --version
Permitir tu usuario sin sudosudo usermod -aG docker $USER

Después del último paso necesitas cerrar sesión y volver a entrar (o reiniciar la sesión SSH) para que el cambio de grupo tenga efecto.

Comandos esenciales para tus primeros contenedores

Con Docker instalado, estos son los comandos que vas a usar el 90% del tiempo:

  • docker run -d -p 80:80 nginx — descarga y ejecuta un contenedor Nginx en segundo plano, mapeando el puerto 80 del VPS al puerto 80 del contenedor.
  • docker ps — lista los contenedores que están corriendo ahora mismo.
  • docker logs <nombre> — muestra la salida de un contenedor, indispensable para diagnosticar errores.
  • docker stop <nombre> / docker start <nombre> — detiene o reinicia un contenedor sin borrarlo.
  • docker exec -it <nombre> bash — abre una terminal dentro del contenedor, útil para inspeccionar archivos o ejecutar comandos puntuales.
"Un contenedor no es una máquina virtual más liviana — es tu aplicación empaquetada de forma que corre igual en tu laptop, en staging y en producción, sin el clásico 'en mi máquina funciona'."

Docker Compose: gestionar varios contenedores juntos

La mayoría de aplicaciones reales no son un solo contenedor — son una app más una base de datos, más quizás un caché. Docker Compose te deja definir todo ese conjunto en un solo archivo docker-compose.yml y levantarlo con un único comando (docker compose up -d), en vez de escribir comandos docker run larguísimos a mano cada vez. También se encarga de crear una red interna para que los contenedores se comuniquen entre sí por nombre, sin exponer la base de datos al exterior.

ConsejoUsa siempre imágenes oficiales de Docker Hub (nginx, postgres, redis, node) en vez de imágenes de terceros sin verificar, y fija una versión específica (node:18-alpine) en lugar de latest para que un cambio inesperado no rompa tu producción.

Buenas prácticas de seguridad

  1. No corras contenedores como root dentro de la imagen si no es estrictamente necesario — la mayoría de imágenes oficiales ya definen un usuario sin privilegios.
  2. Limita los recursos de cada contenedor con --memory y --cpus para que uno con fugas de memoria no tumbe todo el VPS.
  3. Nunca expongas puertos de bases de datos al exterior — dejá que solo otros contenedores en la misma red interna les hablen.
  4. Actualiza tus imágenes con regularidad (docker pull) para recibir parches de seguridad del software base.

Docker no reemplaza la necesidad de un buen VPS por debajo — sigue necesitando RAM y CPU reales para correr tus contenedores — pero sí te da una forma mucho más ordenada y portable de desplegar aplicaciones que instalar todo directo sobre el sistema operativo.

Santiago M.
Santiago M.
Ingeniero de Infraestructura en Hazteunsitio.net. Ayuda a clientes a desplegar aplicaciones y bots en VPS todos los días.
Compartir