Docker Compose en un VPS: Guía Completa de Despliegue

Docker Compose en un VPS

📅 Publicado el 25 de octubre, 2026 · Por Equipo RedServicio

Desplegar con Docker Compose en un VPS es hoy la vía más directa para poner en marcha aplicaciones modernas: defines todo en un archivo de configuración, ejecutas un comando y listo. Si administras tu propio servidor virtual, dominar esta herramienta te ahorra horas de configuración manual, reduce los errores de despliegue y facilita el mantenimiento, ya sea un blog en WordPress, una API en Node.js o una aplicación completa con base de datos y caché. Aquí va una guía paso a paso: cómo preparar el servidor, instalar lo necesario y levantar tu primer stack de contenedores.

¿Qué es Docker Compose y por qué usarlo en un VPS?

Docker Compose es una herramienta oficial del ecosistema Docker que sirve para definir aplicaciones multicontenedor mediante un archivo YAML. En lugar de ejecutar comandos docker run interminables, con decenas de parámetros, declaras todos tus servicios, redes y volúmenes en un único archivo docker-compose.yml y los levantas con un simple docker compose up -d.

Las ventajas de usarlo en un VPS son claras:

  • Reproducibilidad: tu entorno de producción queda documentado en código, lo que facilita migrar de un servidor a otro en minutos.
  • Aislamiento: cada aplicación vive en sus propios contenedores, sin conflictos entre versiones de PHP, bases de datos o dependencias.
  • Escalabilidad: puedes añadir servicios (Redis, un proxy inverso, workers) sin tocar la configuración de los existentes.
  • Mantenimiento simplificado: actualizar una imagen o reiniciar un servicio es cuestión de un comando.

Piensa en un caso típico: una web con WordPress. Con Compose defines tres servicios (WordPress, MySQL y Nginx), quedan conectados en una red interna y sus datos persisten en volúmenes. Todo el stack se gestiona como una unidad.

Requisitos previos: prepara tu servidor VPS

Antes de instalar nada, comprueba que tu VPS cumple estos requisitos mínimos:

  • Sistema operativo: Ubuntu 22.04/24.04 LTS o Debian 12 son las opciones más recomendadas por su compatibilidad con Docker.
  • Recursos: al menos 2 GB de RAM y 20 GB de disco para stacks pequeños; más si vas a alojar varias aplicaciones.
  • Acceso SSH: un usuario con privilegios sudo (evita trabajar como root por seguridad).
  • Firewall configurado: con UFW, por ejemplo, permitiendo solo los puertos 22, 80 y 443.

Configuración inicial recomendada

  1. Actualiza el sistema: sudo apt update && sudo apt upgrade -y
  2. Configura la zona horaria: sudo timedatectl set-timezone Europe/Madrid
  3. Habilita el firewall: sudo ufw allow OpenSSH && sudo ufw enable

Consejo: si tu proveedor de VPS ofrece snapshots (como RedServicio en sus planes de hosting VPS), crea uno antes de empezar. Podrás restaurar el servidor en segundos si algo sale mal.

Cómo instalar Docker y Docker Compose en tu VPS

La forma recomendada es instalar Docker Engine desde el repositorio oficial, que incluye Docker Compose como plugin. Ejecuta estos comandos en tu VPS:

  1. Instala las dependencias: sudo apt install -y ca-certificates curl gnupg
  2. Añade la clave GPG oficial de Docker:
    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
  3. Agrega el repositorio:
    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
  4. Instala Docker y Compose: sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  5. Verifica la instalación: docker compose version — debería devolver algo como «Docker Compose version v2.27.0».

Consejo práctico: añade tu usuario al grupo docker con sudo usermod -aG docker $USER para no necesitar sudo en cada comando. Cierra sesión y vuelve a conectarte para que el cambio surta efecto. Con Docker y Docker Compose ya instalados y funcionando, tu VPS está listo para el siguiente paso: crear tu primer archivo docker-compose.yml.

Crear tu primer archivo docker-compose.yml paso a paso

Todo gira alrededor de un único fichero: el docker-compose.yml. Es YAML puro, así que cuidado con la indentación (dos espacios, nunca tabuladores), porque un espacio de más y Compose se quejará. Ahí defines los servicios de tu aplicación, sus imágenes, volúmenes, redes y variables de entorno. Crea un directorio para tu proyecto y dentro un archivo con ese nombre exacto.

El ejemplo de siempre, sí, pero funciona: una web con WordPress y MySQL.

version: "3.8"
services:
  web:
    image: wordpress:latest
    ports:
      - "80:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: usuario
      WORDPRESS_DB_PASSWORD: miclave123
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wp_data:/var/www/html
    restart: always
  db:
    image: mysql:8.0
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: usuario
      MYSQL_PASSWORD: miclave123
      MYSQL_ROOT_PASSWORD: rootclave456
    volumes:
      - db_data:/var/lib/mysql
    restart: always
volumes:
  wp_data:
  db_data:

Hay un par de detalles que conviene entender bien. Los servicios se hablan entre sí usando el nombre del servicio como hostname (db, en este caso), porque Compose crea una red interna automáticamente. Luego está el restart: always: sin él, si el VPS se reinicia, tus contenedores se quedan dormidos y tu web caída hasta que te des cuenta. Y los volumes nombrados son los que evitan que pierdas la base de datos entera el día que borres los contenedores. Me ha pasado a más de uno.

Consejo: no escribas contraseñas directamente en el docker-compose.yml. Usa un archivo .env en el mismo directorio y referéncialas con la sintaxis ${VARIABLE}. Y si versionas el proyecto, mete .env en el .gitignore. Ahora.

Desplegar, actualizar y mantener tus aplicaciones con Docker Compose en un VPS

¿El archivo está listo? Pues desplegar toda la pila se reduce a esto, desde el directorio del proyecto:

docker compose up -d

Ese comando descarga las imágenes, crea la red y los volúmenes, y levanta todo en segundo plano. Comprueba el estado con docker compose ps y, si algo va raro, mira los logs del servicio concreto: docker compose logs -f web.

  1. Editar el docker-compose.yml o el código de tu aplicación.
  2. Ejecutar docker compose pull para bajar las versiones nuevas de las imágenes.
  3. Aplicar los cambios con docker compose up -d, que recrea solo los contenedores afectados. Ni más ni menos.
  4. Limpiar recursos huérfanos de vez en cuando con docker system prune -f.

Otras tareas que acabas usando: docker compose down para detener y eliminar la pila (los volúmenes se conservan, salvo que añadas -v, ojo con eso), y docker compose exec db mysql -u root -p para entrar en la consola de la base de datos. Cuando el proyecto crezca, quizá te interese añadir un proxy inverso como Nginx o Traefik al compose, que gestiona dominios y certificados SSL automáticos con Let’s Encrypt. Pero eso ya es otro paso.

Conclusión: lleva tus proyectos al siguiente nivel

Dominar Docker Compose en un VPS cambia la manera de trabajar. Despliegues reproducibles en segundos. Entornos idénticos entre desarrollo y producción, sin sorpresas de «en mi máquina funciona». Y escalar un servicio se resume en añadir unas líneas de YAML. Lo que antes costaba horas de configuración manual de servidor ahora es un docker compose up -d y a otra cosa.

Eso sí, la plataforma debajo de los contenedores importa tanto como la configuración. Un VPS con recursos garantizados, discos SSD rápidos y soporte técnico 24/7 marca la diferencia cuando un contenedor falla a las tres de la madrugada (y fallará, tarde o temprano). En RedServicio ofrecemos hosting y VPS optimizados para Docker, con soporte en español listo para echarte una mano en cada despliegue. Empieza hoy con tu primer docker-compose.yml. Verás que administrar tu propia infraestructura no era tan complicado como parecía.

📝

Equipo RedServicio

Artículos escritos y revisados por nuestro equipo técnico especializado en hosting e infraestructura web en España.

¿Listo para un hosting de verdad?

Servidores en España · Soporte 24/7 en español · Migración gratuita

Ver Planes desde 3,95€/mes →

Te puede interesar:

Clisec — Seguridad informática

Página Gratis — Crea tu web gratis

Scroll al inicio