【发布时间】:2017-09-09 23:32:29
【问题描述】:
我目前有一个应用程序在 AWS 上使用 VPC 中的虚拟机 (EC2) 运行,如下所示。
- 主负载均衡器
- 2 到 4 个 EC2 实例为主 API 运行 LEMP 堆栈
- EC2 实例为管理面板运行 ReactJS 应用
- EC2 实例运行 Jenkins
- 2 个 EC2 实例运行 LogStash
- 1 个 EC2 实例运行 Kibana 和 ElasticSearch
我正在努力将所有这些转换为 Docker 以供生产使用(Docker Swarm)。我知道我可以为这些组件中的每一个制作容器和 Dockerfile,但是在部署时,我的问题如下。
-
到目前为止,所有这些组件都可以在本地相互联网,因为它们都存在于同一个 VPC 中。所以他们会继续,我想。但是它们应该都存在于同一个 Docker Swarm 中吗?
-
我非常习惯每个组件都在自己的小型服务器上,但现在,每个组件都将在自己的容器中。那么有几个更大的服务器和几个跨实例运行的容器(根据需要)的想法是什么?换句话说,其中一些组件最终可能存在于同一台服务器上,但这是使用容器时的预期行为吗?
或者我是否仍应将某些组件(即 ElasticSearch)拆分到它们自己的服务器上?
-
在什么情况下您希望拥有多个 Docker Swarm?是否最好假设以任何方式与此应用程序相关的任何东西都应该存在于这一群体中?
【问题讨论】:
-
这些都是值得考虑的好事情,但实际上大多数都是意见问题,因此在这里并不是真正的主题。
标签: docker docker-swarm