Cómo ejecutar diversas versiones de una aplicación con Docker

Última actualización: 25/08/2026

  • Uso de contenedores aislados para gestionar versiones distintas de un mismo software sin conflictos.
  • Implementación de redes virtuales para permitir la comunicación fluida entre servicios independientes.
  • Orquestación mediante Docker Compose para simplificar el despliegue de arquitecturas multicontenedor.

Cómo ejecutar varias versiones de una misma aplicación usando Docker

¿Cómo ejecutar varias versiones de una misma aplicación usando Docker? A veces nos topamos con el marrón de necesitar varias versiones de un mismo lenguaje o aplicación en el mismo equipo, y ahí es donde Docker se convierte en nuestro mejor aliado. Imagina que tienes que mantener un proyecto antiguo en PHP 5.6 y otro moderno en PHP 8.2; intentar instalar todo eso directamente en el sistema host suele terminar en un caos de dependencias que te quitan el sueño. Si eres usuario de Windows, recuerda que puedes instalar Docker en Windows 10 para empezar a trabajar con estos entornos.

La magia de los contenedores reside en que crean un entorno estanco, permitiendo que cada versión viva en su propia burbuja sin molestar a las demás. En lugar de pelearse con los binarios del sistema o intentar hacer malabares con enlaces simbólicos en el directorio /bin de Linux, lo más sensato es encapsular cada versión en una imagen independiente para garantizar que todo funcione a la primera.

Programador trabajando con doble monitor y terminal visible, ideal para ilustrar un artículo sobre WSL y contenedores en Windows 11
Related article:
Cómo instalar WSL Containers en Windows 11

La estrategia de los contenedores independientes

Código de programación colorido en un monitor, ilustrando la configuración de aplicaciones y archivos Docker Compose.

Cuando hablamos de ejecutar aplicaciones con versiones distintas, la clave es no intentar que el host sea el que gestione los binarios. Si intentas enlazar un binario de un contenedor al sistema de archivos local, te vas a encontrar con que el contenedor no es una máquina virtual completa, sino un proceso aislado; por tanto, acceder a los binarios desde fuera no es la vía correcta. Para gestionar mejor estos procesos, puedes aprender a acceder a los archivos de un contenedor Docker de forma segura.

Contenido exclusivo - Clic Aquí  Cómo regenerar la batería del portátil

Esta metodología ofrece ventajas brutales. Primero, puedes actualizar una versión de forma aislada sin miedo a romper el resto de tus proyectos. Segundo, separas las responsabilidades: puedes tener un contenedor solo para la lógica de la aplicación y otro dedicado exclusivamente a la base de datos, lo que hace que la gestión de recursos sea mucho más eficiente que usar un administrador de procesos tradicional.

Conectando servicios mediante redes virtuales

Sala de servidores moderna con iluminación azul, simbolizando el entorno aislado y estanco de los contenedores.

Por defecto, Docker mantiene los contenedores en una especie de «isla», aislados del resto. Para que tu aplicación pueda hablar con su base de datos (por ejemplo, una instancia de MySQL), necesitas crear una red común. Esto se hace mediante el comando docker network create, lo que permite que los contenedores se reconozcan entre sí usando alias de red en lugar de direcciones IP que cambian constantemente.

Lazydocker
Related article:
Cómo administrar todos tus contenedores Docker desde la terminal usando Lazydocker

Por ejemplo, si lanzas un contenedor de MySQL con el alias «mysql», cualquier otra aplicación conectada a esa misma red podrá encontrar la base de datos simplemente apuntando al host llamado mysql. Esto es fundamental para configurar las variables de entorno como MYSQL_HOST o MYSQL_USER, permitiendo que la conexión sea transparente y robusta independientemente de dónde se ejecuten los contenedores.

Contenido exclusivo - Clic Aquí  ¿Cómo obtener un ID de Zoom?

Simplificando el despliegue con Docker Compose

Ingeniera de software trabajando con un portátil junto a racks de servidores, representando la gestión de múltiples versiones de software.

Si empezar a escribir comandos docker run larguísimos te parece una pesadilla, Docker Compose es la solución. Básicamente, es un archivo YAML donde defines toda tu infraestructura. En lugar de lanzar cada pieza a mano, describes los servicios, las imágenes que usan (como node:lts-alpine o mysql:lts) y los puertos que quieres exponer hacia tu máquina local.

En este archivo puedes configurar detalles críticos como el directorio de trabajo (working_dir) y los volúmenes. El uso de volúmenes relativos permite que el código de tu carpeta local se refleje en tiempo real dentro del contenedor, facilitando enormemente el desarrollo. Además, Compose gestiona automáticamente la creación de la red para que todos los servicios definidos en el archivo puedan comunicarse sin que tengas que hacer nada extra.

Cómo instalar Hoarder con Docker paso a paso
Related article:
Cómo instalar Hoarder con Docker paso a paso

Gestión de datos y limpieza del entorno

Detalle de cables ethernet azules conectados a un switch, ilustrando la creación de redes virtuales para conectar servicios en Docker.

Un punto donde mucha gente se hace un lío es la persistencia de los datos. Si borras un contenedor, los datos internos desaparecen. Para evitar esto, se utilizan los volúmenes nombrados, que guardan la información (como las tablas de MySQL) en un espacio gestionado por Docker que sobrevive al reinicio o borrado de los contenedores.

Contenido exclusivo - Clic Aquí  Como Cambiar Fondo en Photoshop Cs6

Cuando ya hayas terminado de trabajar o quieras hacer borrón y cuenta nueva, puedes usar docker-compose down. Si además quieres eliminar los datos almacenados para dejar el sistema limpio, deberás añadir la bandera –volumes. De esta forma, eliminas tanto los contenedores como las redes y los datos persistentes, dejando tu entorno listo para una nueva configuración sin residuos.

La implementación de arquitecturas basadas en contenedores permite manejar múltiples versiones de software eliminando las colisiones de dependencias y facilitando la comunicación entre servicios mediante redes virtuales y la automatización de Docker Compose, asegurando que cada entorno sea reproducible y fácil de mantener.

Dify no arranca con Docker
Related article:
Dify no arranca con Docker: errores y soluciones