clase:daw:daw:1eval:tema04.b
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| clase:daw:daw:1eval:tema04.b [2026/10/19 00:27] – Lorenzo | clase:daw:daw:1eval:tema04.b [2026/10/28 09:26] (actual) – Movido a clase:daw:daw:1eval:tema05 claude | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| - | ====== 4.b Despliegue avanzado en Servidor: Docker Compose ======= | ||
| - | Docker Compose es una herramienta que permite definir y administrar aplicaciones Docker de múltiples contenedores. Utiliza un archivo [[https:// | ||
| - | |||
| - | ===== Estructura Básica de un archivo docker-compose.yml ===== | ||
| - | |||
| - | Un archivo '' | ||
| - | |||
| - | <sxh> | ||
| - | services: | ||
| - | nombre_contenedor_1: | ||
| - | image: imagen_servicio1 | ||
| - | restart: opciones si se reinicia el servidor | ||
| - | hostname: nombre del host | ||
| - | volumes: | ||
| - | - / | ||
| - | ports: | ||
| - | - " | ||
| - | environment: | ||
| - | - VARIABLE=valor | ||
| - | tty: true | ||
| - | stdin_open: true | ||
| - | pull_policy: | ||
| - | |||
| - | nombre_contenedor_2: | ||
| - | # Configuración del segundo servicio | ||
| - | </ | ||
| - | |||
| - | |||
| - | ===== Comandos Básicos de Docker Compose ===== | ||
| - | |||
| - | - Iniciar la aplicación basada en la configuración de '' | ||
| - | |||
| - | <sxh bash> | ||
| - | docker compose up -d | ||
| - | </ | ||
| - | |||
| - | - Detener y eliminar los contenedores definidos en el archivo '' | ||
| - | |||
| - | <sxh bash> | ||
| - | docker compose down | ||
| - | </ | ||
| - | |||
| - | - Muestra el estado de los contenedores definidos en el archivo '' | ||
| - | |||
| - | <sxh bash> | ||
| - | docker compose ps | ||
| - | </ | ||
| - | |||
| - | ==== Ejemplo de Uso ==== | ||
| - | |||
| - | Supongamos un archivo '' | ||
| - | |||
| - | <sxh yaml> | ||
| - | |||
| - | services: | ||
| - | peliculas_java: | ||
| - | image: temurin_peliculas | ||
| - | restart: always | ||
| - | hostname: peliculas_java | ||
| - | volumes: | ||
| - | - / | ||
| - | ports: | ||
| - | - " | ||
| - | peliculas_mysql: | ||
| - | image: mysql:8.3.0 | ||
| - | restart: always | ||
| - | hostname: peliculas_java | ||
| - | environment: | ||
| - | - MYSQL_ROOT_PASSWORD=peliculas | ||
| - | - MYSQL_DATABASE=peliculas | ||
| - | - MYSQL_USER=peliculas | ||
| - | - MYSQL_PASSWORD=peliculas | ||
| - | </ | ||
| - | |||
| - | Para iniciar esta aplicación, | ||
| - | |||
| - | <sxh> | ||
| - | docker compose up -d | ||
| - | </ | ||
| - | |||
| - | Esto levantará los contenedores de frontend y base de datos con la configuración especificada. | ||
| - | |||
| - | Docker Compose simplifica la gestión de aplicaciones Docker complejas, permitiendo definir y coordinar múltiples servicios con facilidad. | ||
| - | |||
| - | |||
| - | |||
| - | <note tip>Para pasar un script de docker al formato de docker compose se puede usar la herramienta: | ||
| - | |||
| - | ===== Construir las imágenes con Compose ===== | ||
| - | Hemos visto que con '' | ||
| - | |||
| - | <sxh yaml> | ||
| - | services: | ||
| - | peliculas_java: | ||
| - | build: | ||
| - | context: . | ||
| - | dockerfile: Dockerfile.tienda-back | ||
| - | restart: always | ||
| - | hostname: peliculas_java | ||
| - | volumes: | ||
| - | - / | ||
| - | ports: | ||
| - | - " | ||
| - | </ | ||
| - | |||
| - | '' | ||
| - | |||
| - | ===== Reconstruir las imágenes ===== | ||
| - | Cada vez que cambia el código hay que volver a crear las imágenes, y hacerlo sin más tiene tres problemas: | ||
| - | |||
| - | * **Las imágenes viejas llenan el disco**: al reconstruir una imagen con un nombre que ya existe, el nombre pasa a la nueva y la vieja se queda sin nombre, como ''< | ||
| - | * **La caché de build llena el disco**: Docker guarda en una caché el resultado de cada orden del '' | ||
| - | * **La imagen no tiene el código nuevo**: '' | ||
| - | |||
| - | Los tres se resuelven bajando todo, borrando las imágenes y la caché y volviendo a levantar: | ||
| - | |||
| - | <sxh bash> | ||
| - | docker compose down --rmi local | ||
| - | docker buildx prune -f | ||
| - | docker compose up -d | ||
| - | </ | ||
| - | |||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | |||
| - | < | ||
| - | '' | ||
| - | </ | ||
| - | |||
clase/daw/daw/1eval/tema04.b.1792362444.txt.gz · Última modificación: por Lorenzo
