私はドッカーを使用しており、私のコンテナは php official 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
これは私のために働く:
コマンド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 ]**
コンテナを再起動することもできます。
Sudo docker <container> restart
コンテナの中に入る必要はありません
ホストps -ef|grep fpm // find master pid kill -USR2 <master_pid>