把nginx和php作为两个容器,代码另外放在volume,分别供php和nginx两者挂载
好处:代码更新灵活
坏处:感觉这作为一个服务来说很“山寨”(可以和Java/NodeJS的服务类比一下);另外,如果你用到了composer,依赖部分无法在制作镜像中过程中自动化安装
把nginx作为一个容器,php和代码放在另一个容器,但其中代码目录也需要供nginx挂载
好处:相比1,可以把composer放入PHP容器中,制作镜像时帮你安装依赖
坏处:作为服务依然很“山寨”
把nginx、php和代码全放入同一个容器
好处:更符合微服务的定义,整体对外构成一个服务;nginx和php之间可以直接用unix socket通信
坏处:除了灵活性之外,不太符合Docker官方一个容器只跑一个服务的建议