AWS Elastic Beanstalk
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

从 Docker 容器部署 Elastic Beanstalk 应用程序

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

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

注意

如果在 Elastic Beanstalk 环境中运行的 Docker 容器因任何原因发生崩溃或终止,则 Elastic Beanstalk 将自动重新启动该容器。

本章中的各个主题运用了 Elastic Beanstalk 环境的一些知识。如果您以前未使用过 Elastic Beanstalk,请尝试使用入门教程以了解基本知识。

Docker 平台

Elastic Beanstalk 的 Docker 平台系列有两种通用平台(单容器和多容器)和几个预配置容器。

单容器 Docker

单容器平台可用于将 Docker 映像(如 Dockerfile 或 Dockerrun.aws.json 定义中所述)和源代码部署到在 Elastic Beanstalk 环境中运行的 EC2 实例。如果每个实例只需要运行一个容器,请使用单容器平台。

有关示例和单容器 Docker 环境入门帮助,请参阅单容器 Docker 环境。有关容器定义格式和用法的详细信息,请参阅单容器 Docker 配置

多容器 Docker

另一个基本平台是多容器 Docker,它使用 Amazon Elastic Container Service 将多个 Docker 容器协调部署到 Elastic Beanstalk 环境中的 Amazon ECS 集群。环境中的每个实例都运行相同的容器组,如 Dockerrun.aws.json 文件所定义。如果需要向每个实例部署多个 Docker 容器,请使用多容器平台。

有关多容器 Docker 平台及其用法的更多信息,请参阅多容器 Docker 环境多容器 Docker 配置主题详细介绍了 Dockerrun.aws.json 格式的版本 2,它与单容器平台使用的版本类似,但不兼容。此外,您还可以通过教程了解如何从头部署运行 PHP 网站的多容器环境,并在该网站之前的单独容器中运行 nginx 代理。

预配置 Docker 容器

除两种通用 Docker 平台外,还有几个预配置 Docker 平台版本可用来在带 Glassfish 的 Java带 uWSGI 的 Python 等常见软件栈中运行您的应用程序。如果预配置容器符合应用程序所使用的软件,则使用预配置容器。

有关更多信息,请参阅预配置 Docker 容器

本页内容: