2016-08-11 1 views
2

Ich testen Docker mit Nginx und PHP-FPM komponieren, aber das scheitern. Mein Docker-compose.yml:Docker Compose: Nginx und PHP-FPM funktioniert nicht

version: '2' 

services: 

    nginx: 
    container_name: nginx 
    build: 
     context: ./dockerfiles/nginx/ 
     dockerfile: Dockerfile 
    volumes: 
     - ./project/:/usr/share/nginx/html/ 
    ports: 
     - "8000:80" 
    links: 
     - php 

    php: 
    container_name: php-fpm 
    image: php:7-fpm 
    volumes: 
     - ./project/:/var/www/html/ 
    ports: 
     - "9000:9000" 

Das ist mein dockerfile Nginx:

FROM nginx:latest 
COPY config/default.conf /etc/nginx/conf.d/ 

Und dafault.conf Datei:

server { 
    listen 80; 

    server_name localhost; 

    root /usr/share/nginx/html; 

    location/{ 
     try_files $uri /index.php$is_args$args; 
    } 

    location ~ ^/.+\.php(/|$) { 
     fastcgi_pass php:9000; 
     include fastcgi_params; 
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    } 
} 

wenn ich versuche, localhost: 8000 gibt die folgende Nachricht:

"Datei nicht gefunden."

aber die index.php ist im Projekt/Pfad.

dass ich falsch liege?

Antwort

3

Ich glaube, Sie volumes_from in Ihrem nginx Container in der Compose-Datei verwenden müssen, jetzt haben Sie in nginx:

volumes: 
    - ./project/:/usr/share/nginx/html/ 

Und in php

volumes: 
    - ./project/:/var/www/html/ 

Sie sollten gleich sein.

+0

das Problem musste beide auf das gleiche Volumen zeigen. Zum Beispiel:/var/www/html – alvarezsh

Verwandte Themen