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/02/12 09:49] – 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: | ||
| - | |||
| - | ==== Compose build ==== | ||
| - | Hemos visto que con '' | ||
| - | |||
| - | <sxh bash> | ||
| - | docker compose build --no-cache | ||
| - | </ | ||
| - | |||
| - | Pero para ello hay que modificar el '' | ||
| - | |||
| - | <sxh yaml> | ||
| - | services: | ||
| - | peliculas_java: | ||
| - | build: | ||
| - | context: . | ||
| - | dockerfile: Dockerfile.tienda-back | ||
| - | restart: always | ||
| - | hostname: peliculas_java | ||
| - | volumes: | ||
| - | - / | ||
| - | ports: | ||
| - | - " | ||
| - | </ | ||
| - | |||
| - | * Borrar toda la cache de build: | ||
| - | |||
| - | <sxh bash> | ||
| - | docker builder prune -a -f | ||
| - | </ | ||
| - | |||
clase/daw/daw/1eval/tema04.b.1770886168.txt.gz · Última modificación: por Lorenzo
