我需要部署许多相同LAMP(或LEMP)应用程序的实例: 每个实例都可以从一个子域访问,前端负载均衡/代理 每个实例必须有它自己的db数据和文件数据。 每个实例都可能被监控 内存限制/ CPU可能会设置每个应用程序实例 容易自动部署新的webapp实例 环境对于testing和开发可能是容易重现的。 申请要求: PHPFPM进程( Nginx , MariaDB , PHPFPM ) 二进制文件( composer , bower ,…) 其他系统特定的库和configuration 在阅读Docker文档和许多howtos后,我看到了不同的解决scheme来dockerize这个Web应用程序: 解决scheme1:使用一体化容器 所有的堆栈都在一个容器中: webapp源文件,EMP守护进程,二进制文件,… 为mysql和webapp数据文件装载卷 例子 : Tutum为Wordpress应用程序提供了一个全function的容器: https : //github.com/tutumcloud/tutum-docker-wordpress Phusion为Docker提供了优化的基础镜像,精简了文档( https://github.com/phusion/baseimage-docker#docker_single_process ): Docker运行良好,容器中有多个进程。 事实上,没有技术上的原因,你应该限制自己的一个过程 优点 (恕我直言): 似乎很容易自动部署,监视,摧毁…。 易于使用prod,testing和开发环境。 缺点 (恕我直言): 单片 很难衡量 不使用Docker的所有实力 解决scheme2:使用每个webapp实例的容器堆栈 对于要部署的每个Web应用程序,都会部署一个容器堆栈: 每个进程一个容器: Nginx , Mysql , PHP-FPM […]