xampp/app)⚠️ DEPRECATED: This image follows the "fat container" approach (Apache and PHP in a single process). It has been superseded by the new modular architecture (xampp/php + xampp/httpd).
Based on webdevops/php-apache-dev, these images are heavily customized to provide an "out-of-the-box" full-stack development experience. While the upstream image provides the base, xampp/app adds significant tooling and configurations that were either not yet integrated or rejected in the upstream repository.
Unlike the standard webdevops images, this stack includes:
xampp/app implements a robust SIGTERM trap in the entrypoint. This ensures that when a container is stopped, all Teardown Entrypoints are executed.
webdevops images, containers often fail to restart automatically after a system reboot (e.g. server crash or scheduled maintenance), requiring a manual docker-compose down && up.restart: always policy to work reliably. This fix was merged in webdevops/Dockerfile#333 but later reverted upstream because it could interfere with interactive shell usage (-ti bash). This fork retains the fix to prioritize production stability./sbin/gosu is dynamically managed. It is removed during provisioning and only restored during the teardown phase. This hardening ensures the container remains consistent even after unexpected shutdowns.msodbcsql17 drivers and PHP extensions (sqlsrv, pdo_sqlsrv), with OpenSSL optimizations for legacy connections./opt/nvm.xdebug script to run PHP with Xdebug enabled on-demand.DOCKER_XAMPP_BIN_ENV=prod is set.These images were built using the logic found in the webdevops-php84 branch state. They represent a mature version of the monolithic architecture before the project shifted towards the current modular docker/ structure.
These images were available on Docker Hub long before being officially committed to the current repository:
docker run -d -p 80:80 -v .:/app xampp/app:8.4
Despite the integrated SIGTERM trap and teardown logic, these legacy images may still fail to restart automatically after a host system reboot or OS update.
SIGKILL) before the teardown script finishes restoring the gosu SUID bit, the container's filesystem remains in a "locked" state. On the next boot, the entrypoint will lack the necessary permissions to start.docker-compose down && docker-compose up -d
We highly recommend migrating to the modern modular stack for better performance and security:
Content type
Image
Digest
sha256:1de147945…
Size
560.9 MB
Last updated
about 1 year ago
docker pull xampp/app