Eu tenho uma imagem de docker personalizada para apache e php7-fpm, mas sempre que faço alterações no arquivo php ini e uso supervisord para retsart php7-fpm após essas alterações durante a construção da imagem antes de executar o contêiner da imagem, notei que não consegui faça o php7-fpm reiniciar. Portanto, as alterações que faço no arquivo php ini nunca são refletidas
Mas quando eu entro no contêiner em execução e tento retsart php7-fpm, vejo essas alterações
Aqui está o que minha configuração de supervisord tem
[supervisord]
nodaemon=true
[program:php-fpm7.0]
command = /usr/sbin/php-fpm7.0 -c /etc/php/7.0/fpm/php-fpm.conf
autorestart=true
[program:apache2]
command=/bin/bash -c "source /etc/apache2/envvars && exec /usr/sbin/apache2 -DFOREGROUND"
autorestart=true
Aqui está o meu script start.sh
#!/bin/bash
set -e
echo "ServerName localhost" >> /etc/apache2/apache2.conf
#echo "export HOSTNAME=$(hostname)" >> /etc/apache2/envvars
sed -i -e "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g" /etc/php/7.0/fpm/php.ini
sed -i -e "s/;short_open_tag = Off/short_open_tag = On/g" /etc/php/7.0/fpm/php.ini
sed -i -e "s/;display_errors = Off/display_errors = On/g" /etc/php/7.0/fpm/php.ini
sed -ri 's/^upload_max_filesize\s*=\s*.+/upload_max_filesize = 450M/g' /etc/php/7.0/fpm/php.ini
sed -ri 's/^max_input_time\s*=\s*.+/max_input_time = 300/g' /etc/php/7.0/fpm/php.ini
sed -ri 's/^memory_limit\s*=\s*.+/memory_limit = 640M/g' /etc/php/7.0/fpm/php.ini
sed -ri 's/^post_max_size\s*=\s*.+/post_max_size = 450M/g' /etc/php/7.0/fpm/php.ini
sed -ri 's/^max_execution_time\s*=\s*.+/max_execution_time = 300/g' /etc/php/7.0/fpm/php.ini
sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php/7.0/fpm/php-fpm.conf
sed -i -e "s/;catch_workers_output\s*=\s*yes/catch_workers_output = yes/g" /etc/php/7.0/fpm/pool.d/www.conf
sed -i -e "s/pm.max_children = 5/pm.max_children = 9/g" /etc/php/7.0/fpm/pool.d/www.conf
sed -i -e "s/pm.start_servers = 2/pm.start_servers = 3/g" /etc/php/7.0/fpm/pool.d/www.conf
sed -i -e "s/pm.min_spare_servers = 1/pm.min_spare_servers = 2/g" /etc/php/7.0/fpm/pool.d/www.conf
sed -i -e "s/pm.max_spare_servers = 3/pm.max_spare_servers = 4/g" /etc/php/7.0/fpm/pool.d/www.conf
sed -i -e "s/pm.max_requests = 500/pm.max_requests = 200/g" /etc/php/7.0/fpm/pool.d/www.conf
sed -i -e "s/;clear_env = no/clear_env = no/g" /etc/php/7.0/fpm/pool.d/www.conf
Por favor, ajude com como reiniciar o php7-fpm quando forem feitas alterações no arquivo php ini com um start.sh
script ao criar a imagem do docker
PS
Você pode estar se perguntando por que preciso reiniciar o php7-fpm se ele só precisa ser iniciado, bem, não há como fazer o php7-fpm funcionar com o docker, exceto que eu realmente o inicio primeiro no meu arquivo docker, como abaixo. Sempre que removo essa linha do meu dockerfile, ela não funciona. Se alguém tiver o apache 2.4 e o php7-fpm configurado no docker que funcione sem esse modo, POR FAVOR, envie-me o link para a imagem deles!
RUN service php7.0-fpm start
Obrigado
acabei de adicionar esta linha ao
start.sh
scriptservice php7.0-fpm restart
e assim todos os problemas foram resolvidos!
Não sabia que era tão fácil quanto adicionar um comando bash ao script start.sh