本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon ECS 容器中繼資料檔案格式
下列資訊存放在容器中繼資料 JSON 檔案中。
Cluster
-
容器任務執行所在叢集的名稱。
ContainerInstanceARN
-
主機容器執行個體的完整 Amazon Resource Name (ARN)。
TaskARN
-
容器所屬任務的完整 Amazon Resource Name (ARN)。
TaskDefinitionFamily
-
容器正在使用的任務定義系列名稱。
TaskDefinitionRevision
-
容器正在使用的任務定義修訂版。
ContainerID
-
容器的 Docker 容器 ID (而不是 Amazon ECS 容器 ID)。
ContainerName
-
容器之 Amazon ECS 任務定義中的容器名稱。
DockerContainerName
-
Docker 常駐程式用於容器的容器名稱 (例如,顯示於 docker ps 命令輸出中的名稱)。
ImageID
-
用來啟動容器之 Docker 映像的 SHA 摘要。
ImageName
-
用來啟動容器之 Docker 映像的映像名稱和標籤。
PortMappings
-
與容器相關聯的任何連接埠映射。
ContainerPort
-
容器上公開的連接埠。
HostPort
-
主機容器執行個體上公開的連接埠。
BindIp
-
Docker 指派給容器的連結 IP 地址。此 IP 地址只能使用
bridge
網路模式予以套用,而且只能從容器執行個體存取。 Protocol
-
用於連接埠映射的網路協定。
Networks
-
容器的網路模式和 IP 地址。
NetworkMode
-
容器所屬任務的網路模式。
IPv4Addresses
-
與容器相關聯的 IP 地址。
重要
如果您的任務使用的是
awsvpc
網路模式,就不會傳回容器的 IP 地址。在這種情況下,您可以使用下列命令讀取 /etc/hosts 檔案來擷取 IP 地址:tail -1 /etc/hosts | awk '{print $1}'
MetadataFileStatus
-
中繼資料檔案的狀態。狀態為
READY
時,中繼資料檔案是最新且完整的。如果檔案尚未就緒 (例如,啟動任務時),則會提供截斷版本的檔案格式。為了避免已啟動容器但尚未寫入中繼資料的可能競爭條件,您可以在依存中繼資料之前剖析中繼資料檔案,並等待這個參數設定為READY
。這通常可在容器啟動的 1 秒內可用。 AvailabilityZone
-
主機容器執行個體所在的可用區域。
HostPrivateIPv4Address
-
容器所屬任務的私有 IP 地址。
HostPublicIPv4Address
-
容器所屬任務的公有 IP 地址。
範例 Amazon ECS 容器中繼資料檔案 (READY
)
下列範例示範狀態為 READY
的容器中繼資料檔案。
{ "Cluster":"arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster", "TaskARN":"arn:aws:ecs:us-east-1:123456789012:task/MyCluster/b593651c4d6b44a6b2b583f45c957e15", "Family":"curltest-container", "Revision":"2", "DesiredStatus":"RUNNING", "KnownStatus":"RUNNING", "Limits": { "CPU":0.25, "Memory":512 }, "PullStartedAt":"2025-01-17T20:56:17.394610044Z", "PullStoppedAt":"2025-01-17T20:56:25.282708213Z", "AvailabilityZone":"us-east-1b", "LaunchType":"FARGATE", "Containers":[ { "DockerId":"b593651c4d6b44a6b2b583f45c957e15-3356213583", "Name":"curltest","DockerName":"curltest", "Image":"public.ecr.aws/amazonlinux/amazonlinux:latest", "ImageID":"sha256:7f371357694782356b65c7fd60dd1ca124c47bd5ed1b1ffe7c0e17f562898367", "Labels": { "com.amazonaws.ecs.cluster":"arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster", "com.amazonaws.ecs.container-name":"curltest", "com.amazonaws.ecs.task-arn":"arn:aws:ecs:us-east-1:123456789012:task/MyCluster/b593651c4d6b44a6b2b583f45c957e15", "com.amazonaws.ecs.task-definition-family":"curltest-container","com.amazonaws.ecs.task-definition-version":"2" }, "DesiredStatus":"RUNNING", "KnownStatus":"RUNNING", "Limits": { "CPU":2 }, "CreatedAt":"2025-01-17T20:56:26.180347056Z", "StartedAt":"2025-01-17T20:56:26.180347056Z", "Type":"NORMAL", "LogDriver":"awslogs", "LogOptions": { "awslogs-create-group":"true", "awslogs-group":"/ecs/curltest-container", "awslogs-region":"us-east-1", "awslogs-stream":"ecs/curltest/b593651c4d6b44a6b2b583f45c957e15" }, "ContainerARN":"arn:aws:ecs:us-east-1:123456789012:container/MyCluster/b593651c4d6b44a6b2b583f45c957e15/934575e8-5bdb-478f-b763-2341a85b690e", "Networks":[ { "NetworkMode":"awsvpc", "IPv4Addresses":["10.0.1.58"] } ], "Snapshotter":"overlayfs" } ], "ClockDrift": { "ClockErrorBound":0.487801,"ReferenceTimestamp":"2025-01-17T20:56:02Z", "ClockSynchronizationStatus":"SYNCHRONIZED" }, "FaultInjectionEnabled":false }
範例 未完成的 Amazon ECS 容器中繼資料檔案 (尚未 READY
)
下列範例示範尚未達到 READY
狀態的容器中繼資料檔案。檔案中的資訊僅限於任務定義中已知的數個參數。容器中繼資料檔案應該會在容器啟動的 1 秒內就緒。
{ "Cluster": "default", "ContainerInstanceARN": "arn:aws:ecs:us-west-2:012345678910:container-instance/default/1f73d099-b914-411c-a9ff-81633b7741dd", "TaskARN": "arn:aws:ecs:us-west-2:012345678910:task/default/d90675f8-1a98-444b-805b-3d9cabb6fcd4", "ContainerName": "metadata" }