gpt4 book ai didi

php - DOCKER:ERR_EMPTY_RESPONSE - Mac

转载 作者:行者123 更新时间:2023-12-02 18:53:46 25 4
gpt4 key购买 nike

我是 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_EMPTY_RESPONSE .
这是 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图片。

如果你想同时启动 yiiapache在容器内,您应该查看 these pieces of advice .

更新问题中的编辑部分:

您需要运行 php yii serve 0.0.0.0 .否则 yii绑定(bind)到 localhost:8080并且只能在容器内访问

关于php - DOCKER:ERR_EMPTY_RESPONSE - Mac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49500264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com