gpt4 book ai didi

php - Docker容器中的Nginx无法运行PHP

转载 作者:行者123 更新时间:2023-12-02 21:29:05 25 4
gpt4 key购买 nike

我是Docker的初学者,我正在尝试构建自己的镜像:Ubuntu + Nginx + PHP。

因此,我有一个名为 test 的目录。在目录中,还有另外两个目录,应用程序网站启用的。另外,还有一个Dockerfile,内容如下:

FROM ubuntu:trusty

RUN apt-get update && \
apt-get install -y nginx php5-fpm php5-mysql php-apc php5-imagick php5-imap php5-mcrypt php5-gd libssh2-php && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

RUN echo "daemon off;" >> /etc/nginx/nginx.conf
ADD sites-enabled/ /etc/nginx/sites-enabled/
ADD app/ /app/

EXPOSE 80
CMD ["php5-fpm", "-c", "/etc/php5/fpm"]
CMD ["/usr/sbin/nginx"]

我成功建立了此镜像。然后我用 docker run -d image_name创建容器。我获得了ID,然后运行 docker inspect -f "{{.NetworkSettings.IPAddress}}" ID以获得容器的IP地址。

我需要此IP地址,因为我也在另一个容器中运行HAProxy,因此可以将其配置为指向正确的位置。

因此,HAProxy和带有PHP应用程序的容器都运行正常。 HAProxy指向正确的应用程序。 PHP应用程序文件上传到容器内的正确位置。

但是,Nginx不执行PHP。相反,当我尝试访问该应用程序时,仅获得了带有index.php PHP代码的下载文件。

可能是什么问题呢?请帮忙。

我的第一个猜测是,当我运行php5-fpm时,我在Dockerfile中做错了。我尝试了几种不同的方法,但似乎都不可行。

最佳答案

仅一个CMD。

如果需要“服务”,请查看supervisord或runit。

关于php - Docker容器中的Nginx无法运行PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28131787/

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