Why php development server hangs with docker compose?
I have the following
docker-compose.yml configuration file:
silex-twig: image: php:7.1 command: php -S localhost:4000 /app/index.php volumes: - .:/app ports: - 3000:4000
When I run
docker-compose up it downloads the base image but then it hangs here:
Recreating silextwig_silex-twig_1 Attaching to silextwig_silex-twig_1
What am I doing wrong? There is nothing available on port 3000.
I know there are setups with php-fpm + nginx but that seemed complicated for only development.
One Solution collect form web for “Why php development server hangs with docker compose?”
That is normal. It is attaching to the
stdout of the container (for which there is no
stdout being logged). At this point, the container is running.
If you want to run in the background you would run with
docker-compose up -d instead of just
The actual HTTP request to port 3000 won’t work because PHP is listening only on localhost. You need to modify your command to be
php -S 0.0.0.0:4000 /app/index.php so that it is listening on all IP addresses and can accept connections through the Docker NAT.