Servicios múltiples con Docker Compose

Guía práctica de Docker Compose para orquestar microservicios: estructura de proyecto escalable, redes dedicadas, volúmenes persistentes, healthchecks y despliegue reproducible.

13 sept 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Docker Compose es la herramienta ideal para orquestar servicios cuando trabajas con microservicios modernos, por ejemplo una API en Spring Boot, un frontend en Node.js y una base de datos PostgreSQL. Con Compose puedes definir todos los servicios en un solo archivo docker-compose.yml, construir imágenes a partir de Dockerfiles locales, crear una red compartida para que los contenedores se comuniquen por nombre y ejecutar o escalar todo con un solo comando.

En Q2BSTUDIO, empresa especializada en desarrollo de software a medida, aplicaciones a medida, inteligencia artificial, ciberseguridad y servicios cloud aws y azure, recomendamos una estructura de proyecto clara y escalable. Un ejemplo para dos servicios Java y una base de datos podría ser la siguiente disposición de carpetas donde cada servicio mantiene su propio Dockerfile y artefactos de compilación:

multi-service-app con carpetas service-a, service-b y database, además de archivos .env y docker-compose.yml. Cada servicio es independiente y contiene su código fuente, su Dockerfile y su pom.xml o package.json según corresponda.

Un Dockerfile típico para un servicio Spring Boot consiste en usar una imagen base de JDK, copiar el jar final y ejecutar java menosjar del archivo copiado. Recomendamos usar .dockerignore para ignorar target o node_modules y fijar versiones específicas de las imágenes base para reproducibilidad.

Centraliza variables sensibles en un archivo .env por ejemplo POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB y SPRING_PROFILES_ACTIVE. Docker Compose carga automáticamente estas variables y facilita la gestión de entornos y secretos en etapas tempranas.

El archivo docker-compose.yml define servicios, redes y volúmenes. En un entorno de producción conviene: construir los servicios desde el contexto local, levantar PostgreSQL con volumen persistente, asignar nombres de contenedor claros, crear una red dedicada para comunicación por nombre y configurar healthchecks y políticas de reinicio para mejorar la resiliencia.

Algunas convenciones y ventajas prácticas: la red dedicada permite que service-b llame a service-a usando la URL https://service-a usando el nombre de servicio como hostname. El volumen db-data persiste los datos de Postgres entre reinicios. La opción depends_on combinada con healthcheck asegura que servicios dependientes esperen hasta que la base de datos o servicios críticos estén listos.

Desde la raíz del proyecto puedes construir y lanzar todo con un solo comando por ejemplo docker compose up --build -d Esto construye las imágenes locales, crea y enlaza los contenedores a la red de la aplicación y deja el sistema en ejecución en segundo plano. Para verificar usa docker ps y docker compose logs -f para seguir logs en tiempo real.

Comunicaciones entre servicios dentro de la red de Docker evitan direcciones IP fijas y facilitan el escalado horizontal. Para escalar un servicio basta con docker compose up -d --scale service-b=3 y Docker Compose se encarga del resto.

Comandos útiles de ciclo de vida: docker compose stop para detener contenedores, docker compose up --build -d para reiniciar con nuevo código, docker compose down para derribar el stack y docker compose down --rmi all para eliminar también las imágenes. Para ver logs docker compose logs -f seguido del nombre del servicio.

Buenas prácticas y consejos avanzados: usar compilaciones multietapa para reducir tamaño de imágenes, gestionar secretos en producción con Docker secrets o soluciones de vault en lugar de .env, integrar monitorización y métricas con Prometheus y Grafana, añadir límites de recursos en contextos de Swarm o Compose v3 y automatizar builds y despliegues en CI CD subiendo imágenes versionadas a un registro privado.

En Q2BSTUDIO ayudamos a empresas a diseñar e implementar arquitecturas de microservicios robustas y seguras, con experiencia en software a medida y aplicaciones a medida. Si buscas crear o modernizar tu plataforma, conoce nuestros servicios de desarrollo en Desarrollo de aplicaciones a medida y descubre cómo integrar inteligencia artificial y agentes IA en tus procesos en Servicios de inteligencia artificial.

Además ofrecemos auditorías de ciberseguridad y pentesting, servicios cloud aws y azure para desplegar y escalar tu plataforma y soluciones de inteligencia de negocio y power bi para explotar tus datos. Palabras clave que resumen nuestra oferta: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi.

Resumen final: con Docker Compose puedes definir, construir y ejecutar múltiples microservicios y una base de datos con un solo archivo y un solo comando, aplicar health checks, redes dedicadas y volúmenes persistentes, escalar horizontalmente y mantener un flujo de trabajo reproducible. En Q2BSTUDIO te acompañamos en todo el ciclo desde el diseño hasta la puesta en producción y el soporte de soluciones a medida.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat