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

在 Amazon ECS 任务定义中指定 Docker 卷

在您的容器可以使用数据卷之前,您必须在任务定义中指定卷和挂载点配置。此部分描述容器的卷配置。对于使用 Docker 卷的任务,请指定 dockerVolumeConfiguration。对于使用绑定挂载主机卷的任务,请指定 host 和可选的 sourcePath

以下任务定义 JSON 显示容器的 volumesmountPoints 对象的语法。

{ "containerDefinitions": [ { "mountPoints": [ { "sourceVolume": "string", "containerPath": "/path/to/mount_volume", "readOnly": boolean } ] } ], "volumes": [ { "name": "string", "dockerVolumeConfiguration": { "scope": "string", "autoprovision": boolean, "driver": "string", "driverOpts": { "key": "value" }, "labels": { "key": "value" } } } ] }
name

类型:字符串

必需:否

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

dockerVolumeConfiguration

类型:DockerVolumeConfiguration 对象

必需:否

使用 Docker 卷时将指定此参数。只有在 EC2 实例上运行任务时,才支持 Docker 卷。Windows 容器仅支持使用 local 驱动程序。要使用绑定挂载,请改为指定 host

scope

类型:字符串

有效值:task | shared

必需:否

Docker 卷的范围,可确定其生命周期。当任务开始时,将自动预配置范围限定为 task 的 Docker 卷;而当任务停止时销毁此卷。任务停止后,范围限定为 shared 的 Docker 卷将持续存在。

autoprovision

类型:布尔值

默认值:false

必需:否

如果此值为 true,则将创建 Docker 卷(如果此卷不存在)。仅在 scopeshared 时使用此字段。如果 scopetask,则必须省略此参数。

driver

类型:字符串

必需:否

要使用的 Docker 卷驱动程序。由于驱动程序值用于任务放置,因此,该名称必须与 Docker 提供的驱动程序名称匹配。如果已使用 Docker 插件 CLI 创建驱动程序,则使用 docker plugin ls 可从容器实例中检索驱动程序名称。如果已使用其他方法安装驱动程序,则使用 Docker 插件发现功能可检索驱动程序名称。

driverOpts

类型:字符串

必需:否

要传递的 Docker 驱动程序特定的选项的映射。此参数将映射到 Docker 中“创建卷”部分中的 DriverOpts

labels

类型:字符串

必需:否

要添加到 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