为什么php开发服务器挂起了docker compose?

时间:2017-06-13 16:28:30

标签: php docker docker-compose

我有以下docker-compose.yml配置文件:

silex-twig:
  image: php:7.1
  command: php -S localhost:4000 /app/index.php
  volumes:
    - .:/app
  ports:
    - 3000:4000

当我运行docker-compose up时,它会下载基本图像,但随后会挂起:

Recreating silextwig_silex-twig_1
Attaching to silextwig_silex-twig_1

我做错了什么? 3000端口没有任何东西可用。 我知道有一些php-fpm + nginx的设置,但这对于开发来说似乎很复杂。

1 个答案:

答案 0 :(得分:1)

这很正常。它附加到容器的stdout(没有记录stdout)。此时,容器正在运行。

如果您想在后台投放,则可以使用docker-compose up -d而非docker-compose up投放。

对端口3000的实际HTTP请求不起作用,因为PHP只在localhost上侦听。您需要将命令修改为php -S 0.0.0.0:4000 /app/index.php,以便它正在侦听所有IP地址,并且可以通过Docker NAT接受连接。