原标题:云计算核心技术Docker教程:在 ECS 上部署 Docker 容器
Docker Compose CLI 使开发人员能够在构建云原生应用程序时使用原生 Docker 命令在 Amazon EC2 Container Service (ECS) 中运行应用程序。
Docker 和 Amazon ECS 之间的集成允许开发人员使用 Docker Compose CLI 来:
在一个 Docker 命令中设置 AWS 上下文,允许您从本地上下文切换到云上下文并快速轻松地运行应用程序
使用 Compose 文件简化 Amazon ECS 上的多容器应用程序开发
先决条件
在ECS上部署Docker容器需要满足以下要求:
1.下载并安装最新版本的 Docker Desktop。
下载 Mac
下载 Windows
或者,安装适用于 Linux的Docker Compose CLI。
2.确保您拥有 AWS 账户。
Docker 不仅在本地运行多容器应用程序,而且使开发人员能够使用 Compose 文件和docker compose up命令在 Amazon ECS 上无缝部署 Docker 容器。以下部分包含有关如何在 Amazon ECS 上部署 Compose 应用程序的说明。
创建 AWS 上下文
运行docker context create ecs myecscontext命令以创建名为 的 Amazon ECS Docker 上下文myecscontext。如果您已经安装并配置了 AWS CLI,则 setup 命令可以让您选择一个现有的 AWS 配置文件来连接到 Amazon。否则,您可以通过传递AWS 访问密钥 ID 和秘密访问密钥来创建新配置文件 。最后,您可以配置 ECS 上下文以通过AWS_*环境变量检索 AWS 凭证,这是与第三方工具和单点登录提供商集成的常用方法。
创建 AWS 上下文后,您可以通过运行以下docker context ls命令列出 Docker 上下文:
运行Compose应用程序
您可以使用该docker compose命令将Compose 文件中定义的多容器应用程序部署和管理到 Amazon ECS 。去做这个:
确保您使用的是 ECS 上下文。您可以通过--context myecscontext使用命令指定标志或使用命令设置当前上下文来执行此操作docker context use myecscontext。
运行docker compose up和docker compose down以启动然后停止完整的 Compose 应用程序。
默认情况下,docker compose up使用当前文件夹中的compose.yaml或docker-compose.yaml文件。您可以使用 --workdir 标志指定工作目录或直接使用docker compose --file mycomposefile.yaml up.
您还可以--project-name在部署期间使用该标志为 Compose 应用程序指定一个名称。如果未指定名称,将从工作目录派生一个名称。
Docker ECS 集成将 Compose 应用程序模型转换为一组 AWS 资源,称为CloudFormation模板。技术文档中描述了实际映射。除了终端中显示的 CloudFormation 事件外,您还可以使用docker compose convert命令查看生成的模板,并在运行时遵循 CloudFormation 在AWS Web 控制台中应用此模型 docker compose up。
您可以使用该docker compose ps命令查看为 Amazon ECS 上的 Compose 应用程序创建的服务及其状态。
您可以使用该docker compose logs命令查看属于 Compose 应用程序一部分的容器中的日志。