我正在使用laravel宅基地解决方案进行开发,但现在我想迁移到docker。问题是如何"膨胀"应该是我的容器。当我说"臃肿"我的意思是每个容器应该有多少模块/服务。例如,我创建了四个自定义容器,如下所示:
php
-> php-fpm
-> composer
-> memcached
-> redis
mysql
-> mysql
nginx
->nginx
node
->gulp
->bower
->npm
->grunt
问题是,如果这是正确的聚类或我应该创建单独的容器,请说grunt,bower,memcached等?如何决定什么在一起以及分隔容器?有规则吗?应该和生产一样发展吗?
答案 0 :(得分:1)
在定义我的容器时,我总是提前考虑指定服务的扩展程度,以及是否可以单独扩展它。这样我就可以及时扩展特定服务并微调瓶颈所在的位置。 使用你的例子我会这样做:
您总是可以考虑向MySQL集群添加更多MySQL实例,就像使用Memcached和Redis一样。
作为最高级别的建议,在生产环境中,您应该考虑使用Amazon RDS和Amazon Elasticache等MySQL和Memcached + Redis。这将更容易设置和管理。