I am trying to setup a docker container for php-fpm. But encountering this error when visiting the web directory configured on localhost. I have been stuck here for over 5 hours. Here is my Dockerfile:
FROM centos:latest WORKDIR /tmp RUN yum -y update RUN rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm; rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm #RUN yum -y groupinstall "Development Tools" RUN systemctl stop firewalld; systemctl disable firewalld RUN yum -y install php56w php56w-opcache php56w-cli php56w-common php56w-devel php56w-fpm php56w-gd php56w-mbstring php56w-mcrypt php56w-pdo php56w-mysqlnd php56w-pecl-xdebug php56w-pecl-memcache RUN sed -i "s/;date.timezone =.*/date.timezone = UTC/" /etc/php.ini && \ sed -i "s/display_errors = Off/display_errors = stderr/" /etc/php.ini && \ sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 30M/" /etc/php.ini && \ sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php-fpm.conf && \ sed -i '/^listen = /c listen = 9000' /etc/php-fpm.d/www.conf && \ sed -i '/^listen.allowed_clients/c ;listen.allowed_clients =' /etc/php-fpm.d/www.conf RUN mkdir -p /home/www VOLUME ["/home/www"] EXPOSE 9000 ENTRYPOINT ["/usr/sbin/php-fpm", "-F"] Check by docker ps
aab4f8ce0fe8 jason/fpm:v1 "/usr/sbin/php-fpm - 6 minutes ago Up 6 minutes 0.0.0.0:9002->9000/tcp fpm The data volume does exist. check by docker inspect
"Volumes": { "/home/www": "/home/www" }, "VolumesRW": { "/home/www": true } "Ports": { "9000/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "9002" } ] } localhost nginx website config:
listen 80; server_name admin.local.lumen.com; index index.php index.html index.htm ; root /home/www/lumenback/public_admin; error_log /home/wwwlogs/lumenback_error.log; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .*\.php?$ { fastcgi_pass 127.0.0.1:9002; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; #include fastcgi.conf; } Error logged by php-fpm:
[error] 5322#0: *3798 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.16.1.19, server: admin.local.lumen.com, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://127.0.0.1:9002", host: "admin.local.lumen.com" Many people online said the error is caused by fastcgi_param SCRIPT_FILENAME. Seems it is not the reason in my case.
docker exec -it aab4f8ce0fe8 echo $SCRIPT_FILENAMEand paste it?