Amazon ECS 容器元数据文件 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon ECS 容器元数据文件

从 Amazon ECS 容器代理版本 1.15.0 开始,容器或主机容器实例中提供了各种容器元数据。通过启用此功能,您可以从容器或主机容器实例中查询有关任务、容器以及容器实例的信息。元数据文件是在主机实例上创建的,并作为Docker卷装入容器中,因此在 Amazon Fargate上承载任务时不可用。

清除容器时,主机实例上的容器元数据文件将被清除。在这种情况下,您可以使用 ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION 容器代理变量进行调整。有关更多信息,请参阅 自动化任务和映像清除

容器元数据文件位置

默认情况下,容器元数据文件写入到以下主机和容器路径。

  • 对于 Linux 实例:

    • 主机路径:/var/lib/ecs/data/metadata/cluster_name/task_id/container_name/ecs-container-metadata.json

      注意

      Linux 主机路径假定在启动代理时使用默认数据目录挂载路径 (/var/lib/ecs/data)。如果您并非使用经 Amazon ECS 优化的 AMI(或 ecs-init 程序包来启动和维护容器代理),请确保将 ECS_HOST_DATA_DIR 代理配置变量设置为容器代理状态文件所在的主机路径。有关更多信息,请参阅 Amazon ECS 容器代理配置

    • 容器路径:/opt/ecs/metadata/random_ID/ecs-container-metadata.json

  • 对于 Windows 实例:

    • 主机路径:C:\ProgramData\Amazon\ECS\data\metadata\task_id\container_name\ecs-container-metadata.json

    • 容器路径:C:\ProgramData\Amazon\ECS\metadata\random_ID\ecs-container-metadata.json

但是为了便于访问,容器元数据文件位置设置为容器内的 ECS_CONTAINER_METADATA_FILE 环境变量。您可以使用以下命令读取容器中的文件内容:

  • 对于 Linux 实例:

    cat $ECS_CONTAINER_METADATA_FILE
  • 对于 Windows 实例 (PowerShell):

    Get-Content -path $env:ECS_CONTAINER_METADATA_FILE