如何在docker容器中重新启动php fpm?
我使用的是docker,我的容器是基于php:5.6-fpm图像构建的。如何在docker容器中重新启动php fpm?,php,docker,Php,Docker,我使用的是docker,我的容器是基于php:5.6-fpm图像构建的。 是否可以从容器中重新启动/重新加载php fpm php fpm是一个支持USER2信号的进程管理器,用于重新加载配置文件 从容器内部: kill -USR2 1 外部: docker exec -it <mycontainer> kill -USR2 1 你不必进入容器内 在你的主人身上 ps-ef | grep fpm//查找主pid 杀死-USR2 您也可以重新启动容器 sudo docker re
是否可以从容器中重新启动/重新加载php fpm php fpm是一个支持USER2信号的进程管理器,用于重新加载配置文件 从容器内部:
kill -USR2 1
外部:
docker exec -it <mycontainer> kill -USR2 1
你不必进入容器内 在你的主人身上
ps-ef | grep fpm//查找主pid
杀死-USR2
您也可以重新启动容器
sudo docker restart <container>
sudo docker重启
这对我很有用:
如果命令fpm restart失败,请在Docker容器->www#中运行此命令:
当我在容器中时效果很好。但是从外部调用if时出错:
rpc错误:code=2 desc=oci运行时错误:exec失败:container\u linux.go:247:启动容器进程导致“exec:\“kill\”:在$PATH中找不到可执行文件
知道为什么吗?@panepeter如果您提供运行它的方式,我可以提供更多建议,但错误消息说在路径中找不到kill命令。根据您的映像,您需要以某些方式运行它,例如/bin/sh-c kill-USR2 1。。。这是我最好的猜测,没有进一步的信息。谢谢@Encrico,你是对的<代码>/bin/bash-c kill-usr21成功了!我不得不使用kill-susr21
。对我来说,PID 1并不总是正确的(特别是在杀死它一次之后)。有帮助的是pkill-o-USR2 php fpm
,因为选项-o
搜索最旧的进程(主进程)并将其终止<代码>cd/apps/laradock&docker compose重新启动nginx
sudo docker restart <container>
root@...:/var/www# **ps -ef|grep fpm**
www-data 160 1 0 10:02 ? 00:00:00 php-fpm: pool www
www-data 161 1 0 10:02 ? 00:00:00 php-fpm: pool www
root 1111 170 0 10:04 pts/0 00:00:00 grep --color=auto fpm
root@...:/var/www# **kill -USR2 170**
root@...:/home/user/Docker# **docker-compose stop**
Stopping docker_nginx_1 ... done
Stopping docker_oracle_1 ... done
root@...:/home/user/Docker# **docker-compose up -d**
Starting docker_oracle_1 ... done
Starting docker_nginx_1 ... done
root@...:/home/user/Docker# **docker-compose exec oracle bash**
root@...:/var/www# **/etc/init.d/php7.2-fpm restart**
* Restarting PHP 7.2 FastCGI Process Manager php-fpm7.2 **[ OK ]**