【问题标题】:Multiple docker containers and scallinguUp with AWS多个 docker 容器和使用 AWS 的 scallinguUp
【发布时间】:2019-11-02 16:43:25
【问题描述】:

在我的应用中创建新帐户后,我需要为这个新用户启动一个网站。我决定为此使用 docker,因此每个新客户端都会获得一个运行自己网站的全新容器,每个容器都有一个带有虚拟主机/域名的环境变量。将此与 nginx 反向代理相结合,一切正常。在我的本地开发机器上,我需要做的就是将虚拟主机添加到我的主机文件中,然后我就可以访问新创建的网站了。

要部署它,我可以使用常规 AWS EC2 实例,但由于这是一个自动化过程,它最终会达到 cpu/内存限制。

我还检查了 AWS EBS。但是每个环境都有自己的 EC2 实例(假设每个新网站 = 一个新环境)。如果我选择 MultiContainer 设置,则每次创建新帐户时都必须将新代码发送到 EBS,这也意味着需要几秒钟来重新启动/重建环境。

如何扩大规模?

【问题讨论】:

    标签: amazon-web-services docker automation docker-compose


    【解决方案1】:

    如果您决定使用 AWS,如何考虑考虑 AWS ECS 服务。它是使用 AWS EC2 优化的 docker 容器服务。

    您可以使集群由 EC2 实例组成。这些实例是可扩展的。只需要task definition ECS 的json 格式。

    Kubernetes、EKS 也是容器的不错选择。但这应该是必要的学习曲线。

    见:

    这里是AWS ECS Document

    【讨论】:

      【解决方案2】:

      考虑到这里的全貌,我建议你看看像 Kubernetes 这样的东西。主要考虑你上面提到的部署和内存的东西。

      您可以拥有多个 EC2“节点”,Kubernetes 将以可能的最佳方式跨这些节点扩展容器(Pod)。

      部署方面,您可以查看 Jenkins、Fabric:http://www.fabfile.org/ 等。它使用 kubectl cli 为您部署。其中很多可以自动化并且相当容易扩展。如果您有任何问题,请告诉我,但 Amazon EKS 值得一看。

      【讨论】:

        猜你喜欢
        • 2018-01-19
        • 2021-11-25
        • 2017-07-26
        • 1970-01-01
        • 2018-04-13
        • 1970-01-01
        • 1970-01-01
        • 2015-12-24
        • 2020-02-12
        相关资源
        最近更新 更多