Ejemplo 2: Web con apache+php+mysql

Vamos a ver un ejemplo completo y funcional de un entorno con:

  • Apache + PHP (para servir HTML/PHP)

  • MySQL (para consultas)

  • phpMyAdmin (opcional, para administrar la base de datos)

  • Volúmenes (para que podamos subir el código y se sincronice automáticamente)

Todo en un solo docker-compose.yaml


✅ 1. Preparación entorno y docker-compose.yaml

Empezamos por estructurar el proyecto, podemos usar VSCode para ello:

apache-test/
 ├── docker-compose.yaml
 └── www/
        ├── index.php        → Listado de clientes
        ├── style.css        → Estilos de CSS
        ├── add.php          → Formulario + alta de cliente
        ├── delete.php       → Eliminación de cliente
        └── db.php           → Conexión a la base de datos

Ten en cuenta que en el docker-compose.yaml crearemos un volumen que será la web e irá montado junto con la carpeta www/:

  • ./www → carpeta en tu PC

  • /var/www/html → carpeta dentro del contenedor Apache

Todo lo que modifiques en www/ aparece inmediatamente en Docker.

Edita el archivo docker-compose.yaml:


📝 2. Archivos de HTML+PHP

El proyecto es para testear el CRUD de los dockers, el proyecto lo tienes a continuación, sino lo puedes extraer del siguiente github, por si lo quieres descargar más fácilmente:

Sino tienes aquí los archivos para copiar:

Vamos primero con nuestra conexión de base de datos:

Vamos con el index.php que será nuestra web de testing:

La hoja de estilos, style.css es la siguiente:

Ahora vamos con add.php que es nuestra

Y por último terminamos con el delete.php


▶ 3. Levantar contenedores y acceder:

Abrimos terminal en la carpeta donde está el compose y ejecutamos:

Para acceder:

Última actualización