Docker容器集群

时间:2015-12-14 15:31:36

标签: laravel docker containers

我正在使用laravel宅基地解决方案进行开发,但现在我想迁移到docker。问题是如何"膨胀"应该是我的容器。当我说"臃肿"我的意思是每个容器应该有多少模块/服务。例如,我创建了四个自定义容器,如下所示:

php
  -> php-fpm
  -> composer
  -> memcached
  -> redis
 mysql
  -> mysql
 nginx
  ->nginx
 node
  ->gulp
  ->bower
  ->npm
  ->grunt

问题是,如果这是正确的聚类或我应该创建单独的容器,请说grunt,bower,memcached等?如何决定什么在一起以及分隔容器?有规则吗?应该和生产一样发展吗?

1 个答案:

答案 0 :(得分:1)

在定义我的容器时,我总是提前考虑指定服务的扩展程度,以及是否可以单独扩展它。这样我就可以及时扩展特定服务并微调瓶颈所在的位置。 使用你的例子我会这样做:

  • PHP + Nginx + Node(应用程序容器)
  • MySQL(Mysql容器)
  • Memcached(Memcached容器)
  • Redis(Redis容器)

您总是可以考虑向MySQL集群添加更多MySQL实例,就像使用Memcached和Redis一样。

作为最高级别的建议,在生产环境中,您应该考虑使用Amazon RDS和Amazon Elasticache等MySQL和Memcached + Redis。这将更容易设置和管理。