Php DOCKER:ERR\u EMPTY\u响应-Mac
我是Docker的新手,刚刚迈出了第一步。 我想和docker玩一玩,并打算为yii配置Dockerfile: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
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)服务器的空回复
感谢您的帮助!你的答案仍然符合我的编辑要求吗?谢谢!这就是问题所在!你真的帮了我的忙!