我有一个安装了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配置为在系统启动(或重新启动)时启动容器。
发布于 2017-08-05 20:34:19
问题出在这里:service php5-fpm start。当您执行此命令进程时,php-fpm将与shell分离。但Docker只有在主进程处于活动状态时才能工作。
尝试像在official image中那样运行php-fpm :只需删除入口点并添加CMD ["php-fpm"]。
另外,为什么要创建自己的php-fpm镜像?可能你可以使用official镜像?
发布于 2017-08-06 02:17:44
可能的解决方案是:
docker run -d --name u12php53 -p 9001:9000 -v php53 bash -c '/usr/local/etc/php-fpm.sh'这可能等同于在Dockerfile中执行此操作:
CMD ["sh", "/usr/local/etc/php-fpm.sh"]https://stackoverflow.com/questions/45520958
复制相似问题