Drupal v Dockeru
Status: Udržováno
Docker Compose starter pack pro Drupal 11. Kompletní vývojový stack — PHP 8.4, Nginx a MySQL 8.4 — který rozjede nový Drupal projekt během pár minut, aniž byste na hostitelský počítač cokoliv instalovali.
Podstatné je, že Docker není vedlejší nástroj, ale součást projektu. Adresář docker/ i docker-compose.yml leží přímo v repozitáři vedle Drupal code base a composer.json, a image se buildí z tohoto projektu. Prostředí se tak verzuje stejným gitem jako aplikace — nemůže se rozejít s kódem, který v něm má běžet, a jeden git clone přinese obojí najednou.
Hlavní body:
- Docker uvnitř repozitáře —
docker/php/Dockerfile,docker/nginx/idocker-compose.ymljsou verzované společně s Drupal code base; žádná externí konfigurace ani generovaný stack stranou - Tři služby v
docker-compose.yml: PHP 8.4-FPM, Nginx 1.30 a MySQL 8.4 — porty i přihlašovací údaje v jednom.env - Multi-stage PHP image: vývojová vrstva s Xdebugem, produkční bez něj — přepíná jediná proměnná
TARGET_ENV - Rozšíření pro Drupal předinstalovaná: gd (WebP/JPEG/FreeType), intl, opcache, apcu, pdo_mysql, pdo_pgsql, zip, xsl, bcmath, exif
- Composer skeleton pro Drupal 11.4 s docrootem v
web/, Drush 13, composer-patches a podporou receptů (recipes) - Bezpečnější default: kontejner běží pod
www-data, ne rootem, s healthcheckemphp-fpm -t; produkční build jede--no-devs optimalizovaným autoloaderem - Kontrola kvality kódu z krabice — drupal/coder, PHP_CodeSniffer 4 a PHPUnit 11; Xdebug nakonfigurovaný pro VS Code
Open source. Kód je na GitHubu
. Po cp .env.default .env a docker compose up -d běží Drupal na http://localhost:1577 — port se mění v .env.