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

ecs-cli compose create

描述

从复合文件创建 Amazon ECS 任务定义。

重要

建议不要对敏感信息 (如凭证数据) 使用纯文本环境变量。

重要

Some features described may only be available with the latest version of the ECS CLI. To obtain the latest version, see 安装 Amazon ECS CLI.

语法

ecs-cli compose [--verbose] [--file compose-file] [--project-name project-name] create [arguments] [--help]

选项

名称 描述

--verbose, --debug

提高命令输出的详细程度以帮助诊断。

必需:否

--file, -f compose-file

指定要使用的 Docker 复合文件。此时,最新版本的 Amazon ECS CLI 支持 Docker 复合文件语法版本 1 和 2。 如果在 ecs-cli compose 运行时设置 COMPOSE_FILE 环境变量,则 Docker 复合文件将设置为该环境变量的值。

类型:字符串

默认值:./docker-compose.yml

必需:否

--project-name, -p project-name

指定要使用的项目名称。如果在运行 ecs-cli compose 时设置 COMPOSE_PROJECT_NAME 环境变量,则项目名称将设置为该环境变量的值。

类型:字符串

默认值:当前目录名。

必需:否

--task-role-arn role_value

指定该任务中的容器可以代入的 IAM 角色的短名称或完整的 Amazon 资源名称 (ARN)。该任务中的所有容器都将被授予在该角色中指定的权限。

类型:字符串

必需:否

--cluster, -c cluster_name

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

类型:字符串

必需:否

--region, -r region

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

类型:字符串

必需:否

--ecs-profile ecs_profile

Specifies the name of the ECS profile configuration to use. Defaults to the profile configured using the configure profile command.

Type: String

Required: No

--aws-profile aws_profile

Specifies the AWS profile to use. Enables you to use the AWS credentials from an existing named profile in ~/.aws/credentials.

Type: String

Required: No

--cluster-config cluster_config_name

Specifies the name of the ECS cluster configuration to use. Defaults to the cluster configuration set as the default.

Type: String

Required: No

--launch-type launch_type Specifies the launch type to use. Available options are FARGATE or EC2. For more information about launch types, see Amazon ECS 启动类型.

This overrides the default launch type stored in your cluster configuration.

Type: String

Required: No

--create-log-groups

Creates the CloudWatch log groups specified in your compose files.

Required: No

--help, -h

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

必需:否

示例

注册 任务定义

此示例从 hello-world 复合文件创建项目名称为 hello-world.yml 的任务定义。

ecs-cli compose --project-name hello-world --file hello-world.yml create --launch-type EC2

输出:

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

在没有任务联网的情况下使用 EC2 启动类型注册任务定义

此示例将从指定了其他 ECS 参数的 hello-world.yml 复合文件中创建项目名为 hello-world 的任务定义。

示例 ecs-params.yml 文件:

version: 1 task_definition: ecs_network_mode: host task_role_arn: myCustomRole services: my_service: essential: false
ecs-cli compose --project-name hello-world --file hello-world.yml --ecs-params ecs-params.yml create --launch-type EC2

输出:

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

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

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

示例 ECS params 文件:

version: 1 task_definition: ecs_network_mode: awsvpc services: my_service: essential: false run_params: network_configuration: awsvpc_configuration: subnets: - subnet-abcd1234 - subnet-dbca4321 security_groups: - sg-abcd1234 - sg-dbca4321

命令:

ecs-cli compose --project-name hello-world --file hello-world.yml --ecs-params ecs-params.yml create --launch-type EC2

输出:

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

本页内容: