Amazon Elastic Container Service
开发人员指南 (API 版本 2014-11-13)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

ecs-cli compose up

如果 Amazon ECS 任务定义不存在,则从您的复合文件创建一个定义并在您的集群上运行该任务的一个实例。

重要

所介绍的某些功能仅可用于最新版本的 Amazon ECS CLI。有关获取最新版本的更多信息,请参阅 安装 Amazon ECS CLI

语法

ecs-cli compose up [--region region] [--cluster-config cluster_config_name] [--ecs-profile ecs_profile] [--aws-profile aws_profile] [--cluster cluster_name] [--launch-type launch_type] [--create-log-groups] [--force-update] [--tags key1=value1,key2=value2] [--disable-ecs-managed-tags] [--help]

选项

名称 描述

--region, -r region

指定要使用的 AWS 区域。默认为使用 configure 命令配置的集群。

类型:字符串

必需:否

--cluster-config cluster_config_name

指定要使用的 Amazon ECS 集群配置的名称。默认为作为默认值设置的集群设置。

类型:字符串

必需:否

--ecs-profile ecs_profile

指定要使用的 Amazon ECS 配置文件的名称。默认为使用 configure profile 命令配置的配置文件。

类型:字符串

必需:否

--aws-profile aws_profile

指定要使用的 AWS 配置文件。使您能够使用 ~/.aws/credentials 中现有指定配置文件中的 AWS 凭证。

类型:字符串

必需:否

--cluster, -c cluster_name

指定要使用的 Amazon ECS 集群名称。默认为使用 configure 命令配置的集群。

类型:字符串

必需:否

--launch-type launch_type

指定要使用的启动类型。可用的选项有 FARGATEEC2。有关启动类型的更多信息,请参阅 Amazon ECS 启动类型

这将覆盖在集群配置中存储的默认启动类型。

类型:字符串

必需:否

--create-log-groups

创建您的 Compose 文件中指定的 CloudWatch 日志组。

必需:否

--force-update

强制任务重新启动。

必需:否

--tags key1=value1,key2=value2

指定要用于您的 AWS 资源的元数据。每一个标签都包含一个键和一个可选值。标签采用以下格式:key1=value1,key2=value2,key3=value3。有关更多信息,请参阅 标记资源

类型:键值对

必需:否

--disable-ecs-managed-tags

禁用 Amazon ECS 托管标签。有关更多信息,请参阅 标记资源以便于计费

必需:否

--help, -h

显示指定命令的帮助文本。

必需:否

标记资源

Amazon ECS CLI 支持以资源标签的形式将元数据添加到您的 AWS 资源。每一个标签都包含一个键和一个可选值。资源标签可用于成本分配、自动化和访问控制。有关更多信息,请参阅 AWS 标记策略

使用 ecs-cli compose up 命令时,使用 --tags 标记使您能够将元数据标签添加到任务定义和任务。Amazon ECS 托管标签默认情况下将启用,除非使用 --disable-ecs-managed-tags 标记明确禁用它们。有关更多信息,请参阅标记资源以便于计费

示例

通过将 AWS Fargate 启动类型与任务联网结合使用来注册任务定义

此示例从 hello-world 复合文件创建项目名称为 hello-world.yml 的任务定义。将为 Fargate 启动类型的任务和网络配置指定其他 ECS 参数。随后,将使用 Fargate 启动类型运行任务的一个实例。

名为 hello-world.yml 的示例 Docker 复合文件:

version: '3' services: nginx: image: nginx:latest ports: - "80:80" logging: driver: awslogs options: awslogs-group: tutorial awslogs-region: us-east-1 awslogs-stream-prefix: nginx

名为 ecs-params.yml 的示例 ECS 参数文件:

version: 1 task_definition: ecs_network_mode: awsvpc task_execution_role: ecsTaskExecutionRole task_size: cpu_limit: 512 mem_limit: 2GB services: nginx: essential: true run_params: network_configuration: awsvpc_configuration: subnets: - subnet-abcd1234 - subnet-dcba4321 security_groups: - sg-abcd1234 - sg-dcba4321 assign_public_ip: ENABLED

命令:

ecs-cli compose --project-name hello-world --file hello-world.yml --ecs-params ecs-params.yml up --launch-type FARGATE

输出:

INFO[0000] Using ECS task definition TaskDefinition=ecscompose-hello-world:5

本页内容: