How to configure nginx and php-fpm in docker.

  docker, question

nginx跟php我都是刚接触。
最近需要搭个nginx跟php环境。想使用docker来搭建,一直未成功
静态文件可以显示,php文件无法显示
有时报502错误,有时候是提示no input file specified

Attach relevant documents

docker-compose.xml

xmlprober:
 image: tommylau/php-5.2:latest
 volumes:
 - prober/src:/var/www/html:rw
 nginx:
 image: nginx:latest
 ports:
 - "80:80"
 volumes:
 - prober/src:/var/www/html:rw
 - prober/nginx.conf:/etc/nginx/conf.d/default.conf
 links:
 - prober

nginx.conf

xmlserver {
 listen       80;
 server_name  localhost;
 
 root   /var/www/html;
 index   index.html  index.htm  index.php ;
 
 location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
 access_log   off;
 expires      1d;
 }
 
 location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
 access_log   off;
 expires      10m;
 }
 
 location ~ \.php$ {
 fastcgi_pass   prober:9000;
 fastcgi_index   index.php ;
 fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
 include        fastcgi_params;
 }
 }

Refer to this article I wrote:https://icewing.cc/docker-use …

A simpler solution: keep the volume directory structure in the nginx container consistent with that in the php container. for example, if the location of the code file in the nginx container is /var/www/html/index.php, then the location in the php container is /var/www/html/index.php .. Of course, it is also possible not to do so. The specific reasons are written in the blog.