Laravel
Laravel es un framework PHP, no un runtime con imagen propia. No existe un
equivalente directo de node:26-alpine: la base es una imagen PHP (CLI o
PHP-FPM según tu arquitectura).
Qué aprenderás
Sección titulada «Qué aprenderás»- Qué base PHP elegir y por qué PHP-FPM no es un reverse proxy.
- Qué versión de PHP exige Laravel 13 y por qué verificarla.
- Por qué
USER www-datano es una regla universal. - El patrón de caché de Composer y el problema de
vendor/del host.
Base y versión
Sección titulada «Base y versión»Laravel 13 requiere PHP 8.3 o superior; verifica el rango soportado antes de publicar. PHP-FPM procesa PHP, pero no sirve tráfico público por sí solo: necesita un servidor web como Nginx delante. No confundas FPM con un proxy.
Composer con caché
Sección titulada «Composer con caché»FROM php:8.3-fpm-alpineWORKDIR /app
COPY composer.json composer.lock ./RUN composer install --no-dev --optimize-autoloader
COPY . .Los manifiestos (composer.json, composer.lock) se copian antes que el código
para conservar la caché, igual que con Node. La instalación de producción
excluye paquetes de desarrollo: no deben formar parte de la imagen runtime.
Usuario y permisos, sin magia
Sección titulada «Usuario y permisos, sin magia»Revisa qué usuario ejecuta FPM en tu imagen, qué rutas deben ser escribibles (storage, cache) y quién debe poseerlas. Ajusta propiedad y usuario a tu caso.
Error común
Sección titulada «Error común»Tratar PHP-FPM como servidor público completo y publicar su puerto como si fuera Nginx. FPM escucha un protocolo de aplicación, no HTTP público: el tráfico entra por el servidor web y FPM procesa detrás.
Siguiente paso
Sección titulada «Siguiente paso»Continúa con Seguridad para ordenar privilegio mínimo, secretos, puertos e imágenes confiables en un solo criterio.