Docker撰写:Nginx和PHP-FPM不能正常工作

我正在testingdocker与Nginx和php-fpm组合,但是这个失败了。 我的docker-compose.yml:

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" 

这是我的dockerfile Nginx:

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

和dafault.conf文件:

 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; } } 

当我尝试本地主机:8000返回以下消息:

“文件未find。”

但是,index.php位于项目/path中。

我错了?

我觉得你需要在你的nginx容器中使用volumes_from来编写文件,现在你已经在nginx中使用了:

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

并在PHP中

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

他们应该是一样的。