dpowhyh70416 2019-07-09 06:06
浏览 1111
已采纳

在Alpine上运行nginx

I would like to run nginx and php-fpm on container start, however I can't seem to do that. Here is my 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;"]

Container comes up and running, however when I run ps aux nginx is nowhere to be seen until I run nginx command (configuration is okay, nginx -t returns okay, and running it through open container does start the service).

I've tried to chain RUN php-fpm7 && nginx but that does nothing.

Also using entrypoint like ENTRYPOINT ["nginx"] did nothing for me.

How can I make sure those processes are running upon creating the container?

  • 写回答

3条回答 默认 最新

  • donglinyi4313 2019-07-09 06:48
    关注

    you can add a script and use it in your CMD:

    script :

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

    add the script to your 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"]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集