Ejemplos Prácticos de Uso de Docker Compose
En esta sección, exploraremos algunos ejemplos prácticos de cómo usar Docker Compose para gestionar tus aplicaciones.
Ejemplo 1: Implementando una Aplicación Web y una Base de Datos
Supongamos que tenemos una aplicación web que requiere una base de datos MySQL. Podemos crear un archivo docker-compose.yml para definir y gestionar esta configuración:
version: "3"
services:
web:
image: myapp/web:latest
ports:
- "80:8080"
depends_on:
- db
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: password
volumes:
- db-data:/var/lib/mysql
volumes:
db-data:
En este ejemplo, tenemos dos servicios: web y db. El servicio web ejecuta nuestra aplicación web, mientras que el servicio db ejecuta una base de datos MySQL. El campo depends_on asegura que el servicio web se inicie después del servicio db.
Para implementar esta aplicación, podemos ejecutar los siguientes comandos:
docker-compose up -d
Esto iniciará la aplicación en modo desacoplado, permitiéndote continuar usando el terminal.
Ejemplo 2: Escalando un Servicio
Supongamos que queremos escalar nuestra aplicación web para manejar más tráfico. Podemos usar el comando docker-compose scale para hacerlo:
docker-compose scale web=3
Esto escalará el servicio web a 3 réplicas, lo que nos permite distribuir la carga entre varios contenedores.
Ejemplo 3: Implementando una Aplicación Multicapa
Docker Compose es especialmente útil para gestionar aplicaciones multicapa, como una aplicación web con un frontend, backend y base de datos. Aquí hay un ejemplo:
version: "3"
services:
frontend:
image: myapp/frontend:latest
ports:
- "80:80"
depends_on:
- backend
backend:
image: myapp/backend:latest
environment:
DB_HOST: db
depends_on:
- db
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: password
volumes:
- db-data:/var/lib/mysql
volumes:
db-data:
En este ejemplo, tenemos tres servicios: frontend, backend y db. El servicio frontend depende del servicio backend, y el servicio backend depende del servicio db. Esto asegura que la aplicación se implemente en el orden correcto.
Al usar Docker Compose, puedes gestionar fácilmente la implementación y el escalado de tus aplicaciones multicapa, convirtiéndolo en una herramienta poderosa para el desarrollo y la implementación basados en contenedores.