gpt4 book ai didi

php - 在 Alpine 上运行 nginx

转载 作者:行者123 更新时间:2023-12-03 23:47:26 38 4
gpt4 key购买 nike

我想在容器启动时运行 nginx 和 php-fpm,但我似乎无法这样做。这是我的 Dockerfile :

FROM php:7-fpm-alpine

EXPOSE 9080 8000
EXPOSE 9088 80

WORKDIR /var/www
COPY . .

RUN apk add nginx composer php7-fpm && \
composer install --no-progress && \
mkdir -p /etc/nginx /etc/nginx/sites-available /etc/nginx/sites-enabled /run/nginx && \
ln -s /etc/nginx/sites-available/default.conf /etc/nginx/sites-enabled/default.conf && \
cp nginx.conf /etc/nginx/conf.d/default.conf

CMD ["nginx", "-g", "daemon off;"]

容器启动并运行,但是当我运行 ps aux 时,在我运行 nginx 命令之前无法看到 nginx(配置没问题, nginx -t 返回没问题,并且通过打开的容器运行它确实启动了服务)。

我试图链接 RUN php-fpm7 && nginx 但这没有任何作用。

同样使用像 ENTRYPOINT ["nginx"] 这样的入口点对我没有任何帮助。

如何确保这些进程在创建容器时正在运行?

最佳答案

您可以添加一个脚本并在您的 CMD 中使用它:

脚本 :

#!/bin/bash
service nginx start
php-fpm7

将脚本添加到您的 Dockerfile :
COPY /PATH/TO/script.sh /path/in/container/script.sh
RUN chmod +x /path/in/container/script.sh
CMD ["/path/in/container/script.sh"]

关于php - 在 Alpine 上运行 nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56946225/

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