Php DOCKER:ERR\u EMPTY\u响应-Mac

Php DOCKER:ERR\u EMPTY\u响应-Mac,php,docker,yii,port,Php,Docker,Yii,Port,我是Docker的新手,刚刚迈出了第一步。 我想和docker玩一玩,并打算为yii配置Dockerfile: FROM php:7.2.3-apache RUN curl -sS https://getcomposer.org/installer | php && \ mv composer.phar /usr/local/bin/composer RUN apt-get update && apt-get install -y git unzip

我是Docker的新手,刚刚迈出了第一步。 我想和docker玩一玩,并打算为yii配置Dockerfile:

FROM php:7.2.3-apache

RUN curl -sS https://getcomposer.org/installer | php && \
    mv composer.phar /usr/local/bin/composer

RUN apt-get update && apt-get install -y git unzip zip

EXPOSE 8080

RUN composer create-project --prefer-dist yiisoft/yii2-app-basic test
然后,我使用以下命令运行容器:

docker container run -d --name test -p 8080:8080 test-yii
当我转到
localhost:8080
时,我得到了一个
ERR\u EMPTY\u响应
。 这是docker container inspect的网络结果:

"Ports": {
     "80/tcp": null,
     "8080/tcp": [
          {
               "HostIp": "0.0.0.0",
               "HostPort": "8080"
          }
     ]
},
我感谢每一个帮助我解决这个问题的提示


编辑:我忘了提到我连接到容器,然后运行
php yii-serve
来测试yii是否运行,这会导致上述问题。

yii
在创建容器时不会启动。这是因为它没有在
Dockerfile
中定义。只有
apache
从这里开始,因为它来自于图片
php:7.2.3-apache

正确的
Dockerfile
是:

FROM php:7.2.3-apache

RUN curl -sS https://getcomposer.org/installer | php && \
    mv composer.phar /usr/local/bin/composer

RUN apt-get update && apt-get install -y git unzip zip

EXPOSE 8080

RUN composer create-project --prefer-dist yiisoft/yii2-app-basic test
CMD test/yii serve 0.0.0.0 
现在,
CMD
层与
yii
重叠
CMD
层来自
php:7.2.3-apache
图像

如果您想在容器中同时启动
yii
apache
,您应该查看

更新问题中的编辑部分:


您需要运行
php yii-serve 0.0.0.0
。否则,
yii
将绑定到
localhost:8080
,并且只能在容器中访问

遵循官方文档,甚至我的版本包含mysql和phpmyadmin支持:你能运行
curl localhost:8080-v
并将输出粘贴到这里吗?@Yuankun这是结果:
重建URL到:localhost:8080/*Trying::1…*TCP_节点延迟设置*连接到本地主机(::1)端口8080(#0)>获取/HTTP/1.1>主机:本地主机:8080>用户代理:curl/7.54.0>接受:*/*>*服务器的空回复*连接#0到主机的本地主机保持完整curl:(52)服务器的空回复
感谢您的帮助!你的答案仍然符合我的编辑要求吗?谢谢!这就是问题所在!你真的帮了我的忙!