Я использую докер, и мой контейнер построен поверх php: 5.6-fpm изображение из официальное репо php. Как можно перезагрузить/перезагрузить php-fpm из контейнера?
Как перезапустить php-fpm внутри контейнера докеров?
Ответ 1
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
Ответ 2
Вы также можете просто перезапустить контейнер..
sudo docker <container> restart
Ответ 3
Это работает для меня:
Если команда fpm restart не удалась, запустите ее в контейнере Docker → www #:
[email protected]:/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
[email protected]:/var/www# **kill -USR2 170**
[email protected]:/home/user/Docker# **docker-compose stop**
Stopping docker_nginx_1 ... done
Stopping docker_oracle_1 ... done
[email protected]:/home/user/Docker# **docker-compose up -d**
Starting docker_oracle_1 ... done
Starting docker_nginx_1 ... done
[email protected]:/home/user/Docker# **docker-compose exec oracle bash**
[email protected]:/var/www# **/etc/init.d/php7.2-fpm restart**
* Restarting PHP 7.2 FastCGI Process Manager php-fpm7.2 **[ OK ]**
Ответ 4
Вам не нужно идти внутрь контейнера
на вашем хосте ps -ef|grep fpm//find master pid kill -USR2 <master_pid>