Docker Compose es el gestor de contenedores multi servicio de Docker que actúa como coordinador de proyectos para tus contenedores permitiendo definir servicios redes y volúmenes en un solo archivo YAML y arrancarlos con un solo comando
docker-compose up
Puntos clave
Un solo archivo para todo describe la configuracion completa de tu aplicacion en docker-compose.yml
Orquestacion multi contenedor ejecuta varios contenedores juntos por ejemplo aplicacion mas base de datos mas cache
Facil de compartir el archivo YAML es portable y cualquiera puede ejecutar tu stack con docker-compose up
Redes integradas los contenedores pueden comunicarse entre si por nombre de servicio
Que es YAML
YAML se pronuncia yah-mull y es una forma legible por humanos para escribir datos estructurados es una alternativa menos verbosa a JSON o XML y esta pensada para datos no para documentos
Por que YAML es popular
Facil de leer sin llaves ni comillas innecesarias
Basado en indentacion usa espacios para la jerarquia similar a Python
Soporta comentarios usando el simbolo numeral
Muy usado en DevOps herramientas como Docker Compose Kubernetes GitHub Actions Ansible y otras adoptan YAML
Pre requisitos
Asegurate de que Docker este instalado y en ejecucion
Docker Compose instalado comprobar con
docker-compose --version
Usa una maquina Linux o WSL Ubuntu para seguir este tutorial
Tarea 1 Aprende a usar docker-compose.yml
Paso 1 Crea el directorio del proyecto
mkdir flask-docker-compose cd flask-docker-compose
Paso 2 Crea tu aplicacion Flask
mkdir app cd app touch app.py requirements.txt
Ejemplo basico de app.py
from flask import Flask app = Flask(__name__) @app.route(/) def home(): return Hello from Flask with Docker Compose! if __name__ == __main__ app.run(host=0.0.0.0, port=5000)
Paso 3 Crea un Dockerfile en el directorio raiz flask-docker-compose
Ejemplo simple de Dockerfile
FROM python:3.12-slim WORKDIR /app COPY app/ /app/ RUN pip install -r requirements.txt EXPOSE 5000 CMD python app.py
Paso 4 Crea docker-compose.yml en la raiz
Ejemplo basico de docker-compose version 3 services web build . ports - 5000:5000 environment - FLASK_ENV=development
Paso 5 Ejecuta la aplicacion con Docker Compose
docker-compose up
Abre el navegador en https://localhost:5000 y deberias ver Hello from Flask with Docker Compose!
Tarea 2 Descargar una imagen publica y ejecutarla localmente
Paso 1 Descargar una imagen preconstruida por ejemplo Nginx
docker pull nginx
Paso 2 Ejecutar el contenedor Nginx
docker run -d --name mynginx -p 8080:80 nginx
Visita https://localhost:8080 para comprobar que Nginx responde
Paso 3 Ejecutar como usuario no root opcion en caso de errores de permisos
Si hay errores de permisos puedes añadir tu usuario al grupo docker y reiniciar con
sudo usermod -aG docker $USER reboot
Paso 4 Inspeccionar el contenedor
docker inspect mynginx
Busca campos como ExposedPorts Mounts y State
Paso 5 Ver registros
docker logs mynginx
Paso 6 Detener y arrancar el contenedor
docker stop mynginx docker start mynginx
Paso 7 Eliminar el contenedor cuando ya no lo necesites
docker rm -f mynginx
Acerca de Q2BSTUDIO
Q2BSTUDIO es una empresa de desarrollo de software que ofrece aplicaciones a medida y software a medida para clientes que buscan soluciones adaptadas a sus necesidades. Somos especialistas en inteligencia artificial ciberseguridad servicios cloud aws y azure servicios de inteligencia de negocio e implementaciones de Power BI. Desarrollamos soluciones de ia para empresas incluyendo agentes IA y plataformas de automatizacion que mejoran procesos y productividad.
Servicios destacados
Desarrollo de aplicaciones a medida y software a medida integracion con servicios cloud aws y azure proyectos de inteligencia artificial implementacion de agentes IA ciberseguridad para proteger infraestructuras y servicios de inteligencia de negocio con Power BI y otras herramientas
Por que elegirnos
Experiencia en proyectos complejos enfoque personalizado para cada cliente y especializacion en tecnologias emergentes como inteligencia artificial e IA para empresas. Ofrecemos consultoria seguridad y despliegue en la nube para acelerar la transformacion digital de tu organizacion.
Si necesitas ayuda para poner en produccion tus stacks con Docker Compose o quieres desarrollar una aplicacion a medida con capacidades de inteligencia artificial y ciberseguridad contacta con Q2BSTUDIO para una consulta y propuesta personalizada