如何在docker容器内重启php-fpm?

Eug*_*Sue 22 php docker

我正在使用docker,我的容器是基于php构建的:来自php官方repo的 5.6-fpm图像.是否有可能从容器内重启/重新加载php-fpm?

Enr*_*ahn 32

php-fpm 是一个支持USER2信号的进程管理器,用于重新加载配置文件.

从容器内部:

kill -USR2 1
Run Code Online (Sandbox Code Playgroud)

外:

docker exec -it <mycontainer> kill -USR2 1
Run Code Online (Sandbox Code Playgroud)

完整的例子:

docker run -d --name test123 php:7.1-fpm-alpine
docker exec -it test123 ps aux
docker exec -it test123 kill -USR2 1
docker exec -it test123 ps aux
Run Code Online (Sandbox Code Playgroud)

  • 对我而言,PID 1并不总是正确的(尤其是在杀死它一次之后)。有用的是`pkill -o -USR2 php-fpm`,因为选项-o搜索最旧的进程(主进程)并将其杀死。 (5认同)

小智 5

你不必进入容器内部

在你的主机上 ps -ef|grep fpm // find master pid kill -USR2 <master_pid>