Skip to content

acceseo/PHP-WebApp-Docker-Compose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP WebApp Docker Compose


Índice

📖 Descripción

Archivo de configuración base para crear aplicaciones web (Symfony, WordPress, PrestaShop).

📚 Requisitos Previos

🔨 Primeros pasos

  1. Descarga el archivo de configuración docker-compose.yml en la carpeta de tu proyecto
curl -O https://raw.githubusercontent.com/acceseo/PHP-WebApp-Docker-Compose/main/docker-compose.yml
  1. Inicia los contenedores
docker compose up -d

🟢 Servicios disponibles


🤖 Comandos útiles

PHP

  • Instalación de dependencias con composer
docker compose exec php.local composer require symfony/finder
  • Ejecución de un script
docker compose exec php.local script.php
  • Ejecución de wp-cli
docker compose exec php.local wp

Node

  • Ejecución de webpack
docker compose run --rm node.local node webpack
  • Instalación de dependencias
docker compose run --rm node.local npm install

MariaDB

  • Importar dump de la base de datos desde el terminal
docker compose exec -T mariadb.local mysql -uroot -proot _database_ < dump.sql
  • Generar dump de la base de datos desde el terminal
docker compose exec -T mariadb.local mysqldump -uroot -proot app > dump.sql
  • Crear una base de datos
docker compose exec -T mariadb.local mysql -uroot -proot -e "CREATE DATABASE db"

🪄 Configuraciones Avanzadas

Configurar Xdebug en Visual Studio Code

Ejecuta los pasos indicados en acceseo/xdebug-config-for-vscode

Cómo desactivar Xdebug

  • CLI
docker compose exec -e XDEBUG_MODE=off php.local my-script.php
  • Web
  php.local:
    image: acceseo/php-fpm:8.3
    volumes:
      - .:/app
    environment:
      - XDEBUG_MODE=off

🚀 Ejemplo de uso: Symfony

...
httpd.local:
    image: acceseo/httpd
    environment:
      - HTTPD_APP_DIRECTORY=/app/public
...

❓ FAQs

  • ¿Por qué usamos profiles para el contenedor de Node? Para evitar que el contenedor de Node se cree cada vez que ejecutas docker compose up.
  • ¿Cómo comprobamos que el contenedor de MariaDB está listo para recibir conexiones? Para evitar errores antes de que acepte el contenedor acepte conexiones está configurado el healthcheck sugerido en la documentación oficial.

📄 Licencia

Este proyecto está bajo la Licencia MIT.

👷 Créditos

About

docker compose file for PHP webapps (Symfony/WordPress/PrestaShop)

Topics

Resources

License

Stars

Watchers

Forks

Contributors