Docker for nginx和php-fpm

我正在开始使用Dockerdocker-compose

我的第一步是build立一个2个容器的堆栈:1个用于nginx,1个用于php-fpm

有了这个configuration,它的工作

 version: '3.3' services: web: image: nginx ports: - "9090:80" volumes: - ./conf/default.conf:/etc/nginx/conf.d/default.conf:ro - ./content:/usr/share/nginx/html:ro links: - php php: image: php:7.1.8-fpm volumes: - ./content:/usr/share/nginx/html:ro 

/content我有一个index.htmlphpinfo.php

我可以在浏览器中find这两个页面。

但是我不明白为什么我必须把所有的页面放在两个容器中?

如果我不把php service的音量,index.html显示,但不是phpinfo.php(找不到文件)。

如果我没有把web service的音量,nginx index.html显示,但不是phpinfo.php(404错误)。

所以现在如果我想部署一个WordPress的网站,我将不得不复制两个容器中的所有文件?

错误的configuration。 好的做法是分离所有进程,所以你应该有3个服务:nginx,php-fpm和php。 源代码应该只在PHP容器内。