Episodio 16: Docker Compose para Aplicaciones Multicontenedor

Descubre Docker Compose y aprende a definir y ejecutar apps multicontenedor con un único archivo YAML. Guía rápida, ejemplos, comandos clave y buenas prácticas.

8 sept 2025 • 3 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

En el episodio anterior exploramos Docker Networking y cómo los contenedores se comunican entre sí. A medida que las aplicaciones crecen, orquestar múltiples contenedores con docker run se vuelve complejo. Aquí es donde Docker Compose entra en juego para simplificarlo todo.

Que es Docker Compose

Docker Compose es una herramienta que permite definir y ejecutar aplicaciones Docker multicontenedor. En lugar de iniciar cada contenedor manualmente, declaras servicios en un único archivo YAML llamado docker-compose.yml y levantas todo el stack con un solo comando.

Por que usar Docker Compose

- Gestión sencilla de múltiples contenedores en un único archivo
- Redes y volúmenes definidos de forma centralizada
- Entornos coherentes para todo el equipo y todas las máquinas
- Un solo comando docker compose up para iniciar toda la pila

Instalación de Docker Compose

La mayoría de instalaciones modernas de Docker ya incluyen Compose. Para comprobarlo ejecuta:

docker compose version

Si no está disponible, instala la versión correspondiente a tu sistema desde la documentación oficial de Docker.

Ejemplo básico de docker-compose.yml

Levantemos una app web sencilla con Flask y Redis:

version: 3
services:
web:
build: ./app
ports:
- 5000:5000
depends_on:
- redis
redis:
image: redis:alpine

Donde web es nuestra app Flask construida desde el directorio ./app, redis es un contenedor basado en la imagen oficial y depends_on asegura que redis arranque antes que web.

Ejecución de la app

docker compose up

Este comando inicia ambos contenedores. Para detener y limpiar el entorno:

docker compose down

Volúmenes y redes

También puedes definir almacenamiento persistente y redes personalizadas. Por ejemplo, para Postgres con un volumen persistente:

version: 3
services:
db:
image: postgres:alpine
volumes:
- db_data:/var/lib/postgresql/data
volumes:
db_data:

Esto garantiza que los datos de la base de datos sobrevivan a reinicios del contenedor.

Ejemplo realista

Una app full stack típica podría incluir:
- Frontend React o Next.js
- Backend Node.js, Django o Flask
- Base de datos Postgres, MongoDB o MySQL
- Caché Redis
Todo definido en un único archivo docker-compose.yml para desarrollo local y pruebas integradas.

Comandos clave

- docker compose up -d inicia en modo desatendido
- docker compose down detiene y elimina contenedores y red por defecto
- docker compose logs -f sigue los registros en tiempo real
- docker compose ps lista los servicios en ejecución

Buenas prácticas

- Usa archivos .env para variables sensibles y configuración por entorno
- Mantén los servicios modulares: base de datos, caché, backend, frontend por separado
- Emplea volúmenes para datos persistentes
- Evita credenciales embebidas en docker-compose.yml y aplica secretos cuando sea posible

Cómo te ayuda Q2BSTUDIO

En Q2BSTUDIO diseñamos y operamos plataformas escalables con Docker y orquestación moderna para acelerar la entrega de aplicaciones a medida y software a medida. Nuestro equipo integra pipelines CI CD, observabilidad y seguridad desde el primer día, alineando infraestructura y producto para reducir tiempos de despliegue y mejorar la fiabilidad. Si buscas impulsar tu roadmap con un partner experto, descubre nuestro desarrollo de aplicaciones a medida y software a medida, así como nuestros servicios cloud AWS y Azure para entornos híbridos y multicloud. También somos especialistas en inteligencia artificial, ia para empresas y agentes IA, ciberseguridad, pentesting, servicios inteligencia de negocio y analítica avanzada con Power BI, siempre con un enfoque práctico y orientado a resultados.

Que viene en el siguiente episodio

En el Episodio 17 profundizaremos en Docker Volumes y la gestión de datos persistentes para asegurar que tu información sobreviva a reinicios y despliegues.

Pregunta para ti

Te gustaría que construyamos en el próximo episodio una app real multicontenedor con Docker Compose por ejemplo Node.js con MongoDB y Redis mostrando configuración, variables de entorno, salud y datos persistentes

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat