izu*_*pet 2 containers laravel docker
我正在使用laravel宅基地解决方案进行开发,但现在我想迁移到docker.问题是如何"膨胀"应该是我的容器.当我说"臃肿"时,我指的是每个容器应该有多少模块/服务.例如,我创建了四个自定义容器,如下所示:
php
-> php-fpm
-> composer
-> memcached
-> redis
mysql
-> mysql
nginx
->nginx
node
->gulp
->bower
->npm
->grunt
Run Code Online (Sandbox Code Playgroud)
问题是,如果这是正确的聚类或我应该创建单独的容器让我们说为grunt,bower,memcached等?如何决定什么在一起以及分隔容器?有规则吗?应该和生产一样发展吗?
如何将应用程序组件分解为容器取决于您的目标.您的目标是使您的服务器更易于管理/管理吗?您是否主要对如何成功扩展应用程序感兴趣,因为它可以获得更多流量?如果扩展是您最关心的问题,以下是一些建议:
这是一个代表这个的图表:
请注意,您可以根据需要添加任意数量的PHP/Redis/Memcached容器,以处理额外的服务器负载.这些容器甚至不一定必须位于同一物理服务器上,这是您获得内存和处理能力的地方.
如果您不希望应用程序上的负载需要所有这些来管理它,那么坚持使用传统方法可能会更容易.Docker仍然相对较新,并不是真正推荐用于生产环境,尽管像我一样,你可能真的很想知道它是如何有用的.
Docker的一个很酷的事情是你在本地开发容器,并且可以"按原样"将它们部署到云中.所以,在本地你就拥有了所有这些容器(你甚至可以换掉其中一些容器,比如你的数据库和/或服务器),然后部署只需要在生产服务器上运行容器的新实例.
我希望这可以帮助您更好地理解如何制定将应用程序分解为容器的策略.Docker对于Laravel空间来说仍然相对较新,因此我确信这些实践将在未来一两年内迅速改变,并可能最终实现自动化.
| 归档时间: |
|
| 查看次数: |
1397 次 |
| 最近记录: |