Aplicación PHP Twitter - Configuración Docker
Descripción
Se conteneriza la aplicación PHP con dos contenedores:
- Contenedor Web: PHP 8.1 con Apache con la aplicación
- Contenedor Base de Datos: MySQL 8.0 con la base de datos
Inicio Rápido
Opción 1: Construir localmente
docker-compose up --build
Opción 2: Usar imágenes de Docker Hub
- Reemplaza
yourusernameoetriana696endocker-compose-hub.yamlcon el nombre de usuario de Docker Hub real - Ejecuta:
docker-compose -f docker-compose-hub.yaml up
Construir y Publicar Imágenes
- Construir la imagen:
docker build -t <username>/php-app:latest ./php-sample-application
- Subir a Docker Hub:
docker login docker push <username>/php-app:latest
- O usar el script:
chmod +x build-push.sh ./build-push.sh
Acceder a la Aplicación
- Aplicación Web: http://localhost:8080
- MySQL: localhost:3306
Variables de Entorno
DB_HOST: Host de la base de datos (por defecto: mysql)DB_NAME: Nombre de la base de datos (por defecto: sample)DB_USER: Usuario de la base de datos (por defecto: sampleuser)DB_PASS: Contraseña de la base de datos (por defecto: samplepass)
Archivos modificados
- Se añadió
config-dev/db-connection-container.phppara establecer la conexión a la base de datos desde contenedores - Se ajustaron
dic/users.phpydic/tweets.phppara que utilicen la configuración de Docker - Se creó el
Dockerfilede la aplicación web - Se lanzó
docker-compose.yamlpara el despliegue local mediante build - Se introdujo
docker-compose-hub.yamlpara ejecutar utilizando las imágenes de Docker Hub