Gestión de Secuencias y Recursos con Docker Compose
Clase 28 de 34 • Curso de Docker Avanzado
Resumen
¿Qué descubrí sobre Docker Compose?
Explorando Docker Compose, descubrí un aspecto vital sobre la secuencia de apagado que brinda una forma eficiente de gestionar los recursos de tu computadora. Aunque este detalle ha estado presente desde el inicio, al encontrarlo accidentalmente, su utilidad se destacó: permite ahorrar recursos significativamente. A continuación, te mostraré cómo implementar esta característica.
¿Cómo configurar Docker Compose?
Para comenzar, necesitamos crear una estructura básica de carpetas y archivos. Estos pasos te ayudarán a seguir el proceso de manera adecuada:
- Crear carpetas:
- Una carpeta principal llamada
apagado
. - Una subcarpeta llamada
frontend
ositio_web
. El nombre no es crucial, pero es importante recordar su ubicación.
- Crear un Dockerfile:
- Dentro de la carpeta
frontend
, crea un archivo llamadoDockerfile
. - Este archivo debe simular un pequeño servidor web con Nginx y contener un archivo HTML para simular un servidor web.
- Archivo docker-compose.yml:
-
Crea un archivo
docker-compose.yml
en la carpetaapagado
. -
Define tres servicios:
- Web Service: Usa una imagen de Nginx y depende del servicio
app
. - App Service: Desplegado con la carpeta
frontend
. - DB Service: Un servicio simple de base de datos.
version: '3' services: db: image: your_db_image
app: build: ./frontend depends_on: - db
web: image: nginx depends_on: - app
- Web Service: Usa una imagen de Nginx y depende del servicio
Estos elementos configuran el orden de inicio: DB
primero, después App
, y por último Web
, según sus dependencias.
¿Cómo manejar el apagado de Docker Compose?
Al ejecutar docker-compose up
, notarás que los servicios se inician en el orden especificado. Sin embargo, al detener la aplicación con Ctrl + C
, los servicios se apagan en orden inverso: comenzando por Web
. Este enfoque en cadena asegura que cada servicio dependiente tenga un cierre ordenado antes de su predecesor.
Ahora, es crucial entender la diferencia entre simplemente usar Ctrl + C
y docker-compose down
:
- Ctrl + C:
- Detiene la aplicación, pero los contenedores y redes aún persisten. Esto puede consumir recursos innecesarios si olvidamos eliminarlos después.
- Docker Compose Down:
- Este comando limpia completamente los contenedores, las redes y cualquier otro recurso. Con
docker-compose down
, garantizas que Docker Desktop o cualquier entorno de Docker esté realmente limpio, liberando recursos de tus máquinas virtuales de manera eficiente.
Usar docker-compose down
requiere más esfuerzo, ya que debes abrir una nueva terminal y posicionarte exactamente en la misma ubicación del proyecto antes de ejecutar el comando. No obstante, los beneficios son notables en la gestión de recursos.
¿Por qué es importante este proceso en el entorno local?
Implementar este método de apagado optimiza tu entorno de desarrollo local. Aquí algunos beneficios:
- Optimización de recursos: Al liberar recursos al cerrar correctamente tus servicios.
- Mantenimiento limpio: La limpieza completa evita que los contenedores y redes queden pendientes, lo que podría causar conflictos en futuros despliegues.
- Eficiencia en el desarrollo: Te permite concentrarte en el desarrollo, sin preocuparte por limpiar manualmente los recursos.
En resumen, comprender y aplicar estas tácticas no solo optimiza el uso de Docker Compose, sino que también refuerza el buen manejo de los entornos de desarrollo, ahorrando tiempo y esfuerzo técnico.