php - 无法弄清楚如何使用 Docker 容器启动 PHP-FPM

标签 php docker

我有一个安装了 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.shPHP-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/

相关文章:

PHP:如何在单个查询中优化这些 MySQL 查询?

php - 在数据库中保存javascript代码

php - 我正在尝试使用 codeigniter 框架使用 Jquery 和 ajax 函数上传图像。我可以看到错误 :

docker - 在使用docker-compose启动webapp之前如何填充Elasticsearch数据库?

docker - 使用 --no-sandbox 运行 headless Chrome/Puppeteer

php - 更改 http header 信息以隐藏服务器信息

php - mysql:向 php 发送 sqlstate 信号

linux - 如何在 Docker 中处理对/dev/(u)random 等的请求?

scala - SBT docker :publish authentication issue

amazon-web-services - 从 ECS Docker 容器写入 cloudwatch 时缺少日志行