zoukankan      html  css  js  c++  java
  • 从 Docker 容器部署 Elastic Beanstalk 应用程序

    Elastic Beanstalk 支持从 Docker 容器部署 Web 应用程序。使用 Docker 容器,您可以定义自己的运行时环境。您可以选择自己的平台、编程语言以及其他平台不支持的任何应用程序依赖项 (如包管理器或工具)。Docker 容器具有独立性,包含您的 Web 应用程序运行所需的所有配置信息和软件。在 Elastic Beanstalk 控制台中定义的所有环境变量都会传递到容器。

    将 Docker 与 Elastic Beanstalk 配合使用会得到一种基础设施,可以自动处理容量配置、负载均衡、扩展和应用程序运行状况监控的详细信息。您可以在支持与 Elastic Beanstalk 集成的服务范围的环境中管理 Web 应用程序,包括但不限于 VPCRDS和 IAM。有关 Docker 的更多信息,包括如何安装、所需软件以及如何使用 Docker 映像启动 Docker 容器,请参阅 Docker:Linux 容器引擎

    多容器 Docker 平台

    Elastic Beanstalk 上的标准通用和预配置 Docker 平台仅支持每个 Elastic Beanstalk 环境对应一个 Docker 容器。为了充分利用 Docker,Elastic Beanstalk 允许您创建您的 Amazon EC2 实例可在其中同时运行多个 Docker 容器的环境。

    下图显示一个配置了三个 Docker 容器的示例 Elastic Beanstalk 环境,这三个 Docker 容器在一个 Auto Scaling 组中的每个 Amazon EC2 实例上运行:

     

    使用多个 Elastic Load Balancing 侦听器

    您可以在多容器 Docker 环境中配置多个 Elastic Load Balancing 侦听器,以支持代理的入站流量或不在默认 HTTP 端口上运行的其他服务。

    在您的源包中创建一个 .ebextensions 文件夹并添加一个文件扩展名为 .config 的文件。以下示例显示了用于在端口 8080 上创建 Elastic Load Balancing 侦听器的配置文件。

    .ebextensions/elb-listener.config

    option_settings:
      aws:elb:listener:8080:
        ListenerProtocol: HTTP
        InstanceProtocol: HTTP
        InstancePort: 8080

    .ebextensions/elb-ingress.config

    Resources:
      port8080SecurityGroupIngress:
        Type: AWS::EC2::SecurityGroupIngress
        Properties:
          GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]}
          IpProtocol: tcp
          ToPort: 8080
          FromPort: 8080
          SourceSecurityGroupName: { "Fn::GetAtt": ["AWSEBLoadBalancer", "SourceSecurityGroup.GroupName"] }
  • 相关阅读:
    解压tar.gz文件报错gzip: stdin: not in gzip format解决方法
    通过 HTTP 头进行 SQL 注入(转)
    Android涉及到的设计模式(转)
    初探Java8中的HashMap(转)
    substance的使用示例(转)
    大数据量下高并发同步的讲解(不看,保证你后悔)(转)
    HDU 4812 D Tree 树分区+逆+hash新位置
    在weblogic11g发布该项目时遇到错误(不支持web-app_3_0)
    highchart几个图表马金摘要
    android 使用 service 实现音乐
  • 原文地址:https://www.cnblogs.com/cloudrivers/p/11628785.html
Copyright © 2011-2022 走看看