簡體   English   中英

如何在 docker 容器內重新啟動 php-fpm?

[英]How to restart php-fpm inside a docker container?

我正在使用 docker,我的容器是通過php 官方 repo 中的php:5.6-fpm 圖像構建的。 是否有可能從容器內重新啟動/重新加載 php-fpm?

php-fpm是一個進程管理器,它支持 USER2 信號,用於重新加載配置文件。

從容器內部:

kill -USR2 1

外部:

docker exec -it <mycontainer> kill -USR2 1

完整示例:

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

你不必進入容器內

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

您也可以重新啟動容器..

sudo docker restart <container>

這對我有用:

如果命令 fpm restart 失敗,請在 Docker 容器中運行此命令 -> www#:

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 ]** 
docker container kill --signal USR2 php_container_name

詳情: https : //docs.docker.com/engine/reference/commandline/container_kill/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM