dnmp icon indicating copy to clipboard operation
dnmp copied to clipboard

有个疑惑 php:${PHP_VERSION}-fpm-alpine 和 php:${PHP_VERSION}-cli-alpine 的区别

Open wpjscc opened this issue 3 years ago • 4 comments

php:${PHP_VERSION}-fpm-alpine 是不是包含了 php:${PHP_VERSION}-cli-alpine? php:${PHP_VERSION}-cli-alpine仅有cli功能没有 php-fpm?

wpjscc avatar Jan 24 '22 01:01 wpjscc

fpm主要针对传统需要网页访问的模式,cli主要针对命令行就能运行程序不需要经过nginx接收数据转发

jingmian avatar Jan 24 '22 02:01 jingmian

fpm包含了cli

ritaswc avatar Jan 24 '22 02:01 ritaswc

fpm包含了cli

请教一下 ,在 php:${PHP_VERSION}-fpm-alpine 的Dockerfile中添加了

...
RUN apk --no-cache add tzdata \
    supervisor \
...

COPY supervisord.conf /etc/supervisord.conf
ENTRYPOINT ["/usr/bin/supervisord", "-n", "-c",  "/etc/supervisord.conf"]

希望php:${PHP_VERSION}-fpm-alpine支持守护进程,但ENTRYPOINT应该是把fpm的启动命令覆盖了,所以不得已用php:${PHP_VERSION}-cli-alpine 这个镜像添加上面的代码,可以实现使用守护进程,这种单独容器的做法,应是推荐的方式,但我希望在一个fpm内实现守护进程,该怎么做。

wpjscc avatar Jan 24 '22 07:01 wpjscc

[program:php-fpm] command = /usr/local/sbin/php-fpm directory = /www user = root autorestart = true autostart = true redirect_stderr = true stdout_logfile = /var/log/php/php-fpm.log stdout_logfile_maxbytes = 10MB stdout_logfile_backups = 10

文件写到services/php/supervisor.d/phpfpm.ini docker-compose.yml再增加一个目录挂载配置

  • ./services/php/supervisor.d:/etc/supervisor.d/:rw

最后在dockerfile中加一句话,主要是可以去掉supervisord的注释

RUN sed -i "s/;pidfile=/pidfile=/g" /etc/supervisord.conf

ritaswc avatar Jan 27 '22 22:01 ritaswc