Ich habe eine einfache Docker-komponieren-Konfiguration mit PHP-FPM und Nginx, und ich kann keine PHP-Datei sehen. Wenn ich zu localhost gehe, wird die Datei nicht gefunden angezeigt.Docker-komponieren Nginx php-fpm Datei nicht gefunden
Ich habe alles versucht, was ich im Internet finden konnte, aber alles, was ich versucht habe, ist gescheitert. Es funktioniert gut für HTML, aber nicht für PHP-Dateien. Scheint ein Pfadproblem zu sein, oder so ähnlich.
stoße ich auf diesen Fehler, wenn ich docker-compose logs
:
project3-php_1 | 172.17.0.5 - 29/Mar/2016:13:29:12 +0000 "GET /index.php" 404
project3-front_1 | 172.17.0.1 - - [29/Mar/2016:13:29:12 +0000] "GET/HTTP/1.1" 404 27 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36"
project3-front_1 | 2016/03/29 13:29:12 [error] 8#8: *3 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.17.0.1, server: localhost, request: "GET/HTTP/1.1", upstream: "fastcgi://172.17.0.2:9000", host: "localhost"
Hier mein Docker-compose ist:
project3-front:
image: nginx
ports:
- "80:80"
links:
- "project3-php:project3-php"
volumes:
- ".:/home/docker"
- "./nginxdir/default.conf:/etc/nginx/conf.d/default.conf"
- "./html:/usr/share/nginx/html"
project3-php:
build: phpdir
volumes:
- ".:/home/docker:rw"
- "./html:/var/www/html"
ports:
- "9000:9000"
working_dir: "/home/docker"
Dann ist mein dockerfile für php:
FROM php:5.6-fpm
EXPOSE 9000
mein default.conf für nginx:
server {
listen 80;
server_name localhost;
index index.php index.html;
error_log /var/log/nginx/error.log warn;
access_log /var/log/nginx/access.log;
root /usr/share/nginx/html;
location ~ \.php$ {
fastcgi_pass project3-php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
PWD des Hauptordner ist:
/media/revenge/share/PROJECTS/docker_images/php7-nginx
Die Dateihierarchie ist:
├── docker-compose.yml
├── html
│ ├── index.php
├── nginxdir
│ ├── default.conf
├── phpdir
│ ├── dockerfile
│ └── php.ini
Die ganze Ordner ist chmod 777
Jede Idee wäre sehr dankbar. Ich bin sicher, da ist etwas, was ich nicht bekommen habe. Danke im Voraus.