在 Amazon ECS 任务定义中指定绑定挂载 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在 Amazon ECS 任务定义中指定绑定挂载

对于在 Fargate 或 Amazon EC2 实例上托管的 Amazon ECS 任务,以下任务定义 JSON 代码段显示任务定义的 volumesmountPointsephemeralStorage 对象的语法。

{ "family": "", ... "containerDefinitions" : [ { "mountPoints" : [ { "containerPath" : "/path/to/mount_volume", "sourceVolume" : "string" } ], "name" : "string" } ], ... "volumes" : [ { "name" : "string" } ], "ephemeralStorage": { "sizeInGiB": integer } }

对于 Amazon EC2 实例上托管的 Amazon ECS 任务,您可以在指定任务卷详细信息时使用可选的 host 参数和 sourcePath。指定后,它将绑定挂载与任务的生命周期而不是容器关联起来。

"volumes" : [ { "host" : { "sourcePath" : "string" }, "name" : "string" } ]

下面将更详细地描述每个任务定义参数。

name

类型:字符串

必需:否

卷的名称。最多允许 255 个字母(大写和小写字母)、数字、连字符(-)和下划线(_)。此名称已在容器定义 mountPoints 对象的 sourceVolume 参数中引用。

host

必需:否

host 参数用于将绑定挂载的生命周期绑定到主机 Amazon EC2 实例(而不是任务)及其存储位置。如果 host 参数为空,则 Docker 进程守护程序将为您的数据卷分配一个主机路径,但不保证数据在与其关联的容器停止运行后将保留。

Windows 容器可在 $env:ProgramData 所在的驱动器上挂载整个目录。

注意

sourcePath 参数仅在使用 Amazon EC2 实例上托管的任务时才支持。

sourcePath

类型:字符串

必需:否

在使用 host 参数时,指定 sourcePath 可声明提供给容器的主机 Amazon EC2 容器实例上的路径。如果此参数为空,则 Docker 进程守护程序将为您分配一个主机路径。如果 host 参数包含 sourcePath 文件位置,则数据卷将在主机 Amazon EC2 容器实例上的指定位置保留,除非您手动将其删除。如果主机 Amazon EC2 容器实例上不存在 sourcePath 值,则 Docker 进程守护程序将创建该值。如果该位置不存在,则将导出源路径文件夹的内容。

mountPoints

类型:对象数组

必需:否

容器中数据卷的挂载点。此参数对应于 create-container Docker API 中的 Volumes 和 docker run 命令的 --volume 选项。

Windows 容器可在 $env:ProgramData 所在的驱动器上挂载整个目录。Windows 容器无法在其他驱动器上挂载目录,并且挂载点不能跨驱动器使用。您必须指定挂载点才能将 Amazon EBS 卷直接附加到 Amazon ECS 任务。

sourceVolume

类型:字符串

必需:是,当使用 mountPoints

要挂载的卷的名称。

containerPath

类型:字符串

必需:是,当使用 mountPoints

挂载卷的容器中的路径。

readOnly

类型:布尔值

必需:否

如果此值为true,则容器具有对卷的只读访问权。如果此值为false,则容器可对卷进行写入。默认值为 false

对于在运行 Windows 操作系统的 EC2 实例上运行的任务,请保留默认值 false

ephemeralStorage

类型:对象

必需:否

要为任务分配的临时存储容量。对于使用平台版本 1.4.0 或更高版本(Linux)或者 1.0.0 或更高版本(Windows)的 Amazon Fargate 上托管的任务,此参数用于将短暂可用存储的总量扩展到默认数量之外。

您可以使用 Copilot CLI、CloudFormation、Amazon SDK 或 CLI 为绑定挂载指定临时存储容量。