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

ecs-cli compose create

描述

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

重要

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

语法

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 命令配置的群集。

类型:字符串

必需:否

--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 启动类型注册任务定义

此示例从 hello-world 复合文件创建项目名称为 hello-world.yml 的任务定义。为容器大小参数指定的其他 ECS 参数。

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

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

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

version: 1 task_definition: services: nginx: cpu_shares: 256 mem_limit: 0.5GB mem_reservation: 0.5GB
ecs-cli compose --project-name hello-world --file hello-world.yml --ecs-params ecs-params.yml --region us-east-1 create --launch-type EC2

输出:

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

通过使用 Fargate 启动类型来注册任务定义

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

名为 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: task_execution_role: ecsTaskExecutionRole ecs_network_mode: awsvpc task_size: mem_limit: 0.5GB cpu_limit: 256 run_params: network_configuration: awsvpc_configuration: subnets: - subnet-abcd1234 - subnet-dbca4321 security_groups: - sg-abcd1234 assign_public_ip: ENABLED

命令:

ecs-cli compose --project-name hello-world --file hello-world.yml --ecs-params ecs-params.yml --region us-east-1 create --launch-type FARGATE

输出:

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

本页内容: