我有一个安装了 PHP-FPM 的 Docker 容器。要使用 -d 选项启动它,我尝试了这个,但容器立即退出:
docker run -d --name u12php53 -p 9001:9000 php53 /usr/local/etc/php-fpm.sh
/usr/local/etc/php-fpm.sh
的内容是:
service php5-fpm start && tail -F /var/log/php5-fpm.log
如果我这样启动 docker:
docker run -it --name u12php53 -p 9001:9000 -v php53
并手动启动 php-fpm.sh
,PHP-FPM
工作正常,其日志文件打印到标准输出。
最终目标是配置 Docker 以在系统启动(或重新启动)时启动我的容器。
最佳答案
问题在这里:service php5-fpm start
。当您执行此命令时,php-fpm 进程将从 shell 中分离出来。但是 Docker 仅在主进程处于事件状态时才工作。
尝试按照 official image 中的方式运行 php-fpm : 只需删除入口点并添加 CMD ["php-fpm"]
。
还有,为什么要创建自己的 php-fpm 镜像?也许你可以使用 official图片?
关于php - 无法弄清楚如何使用 Docker 容器启动 PHP-FPM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45520958/