本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon ECS 容器元数据文件
从 Amazon ECS 容器代理版本 1.15.0 开始,容器或主机容器实例中提供了各种容器元数据。通过启用此功能,您可以从容器或主机容器实例中查询有关任务、容器以及容器实例的信息。元数据文件是在主机实例上创建的,并作为 Docker 卷安装在容器中,因此在 Far AWS gate 上托管任务时不可用。
清除容器时,主机实例上的容器元数据文件将被清除。在这种情况下,您可以使用 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