我正在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/
他们应该是一样的。