Un archivo docker-compose.yaml representa la configuración de una aplicación multi-contenedor en Docker. En él, se definen los servicios, redes y volúmenes que componen la aplicación, todo en un único archivo YAML.

Crear el archivo docker-compose.yaml
Este archivo orquesta los servicios utilizando el Dockerfile definido anteriormente.

version: '3'
services:
  webserver:
    build: .
    container_name: apache_web_server
    ports:
      - "80:80"
    volumes:
      - ./html:/var/www/html
    networks:
      - webnet

networks:
  webnet:
    driver: bridge

Crear el contenido HTML
Crea un directorio html en el mismo directorio que contiene el archivo docker-compose.yaml. Dentro de ese directorio, crea un archivo index.html con contenido simple:

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Página de inicio</title>
</head>
<body>
  <h1>¡Bienvenido al servidor web Dockerizado!</h1>
  <p>Este es un servidor web básico utilizando Docker, Apache y Debian 12.</p>
</body>
</html>

Construir y ejecutar el contenedor
Navega al directorio donde están los archivos Dockerfile y docker-compose.yml.
Construye la imagen y levanta los contenedores con el siguiente comando:

docker-compose up --build -d