Formato do arquivo de metadados de contêiner do Amazon ECS
As informações a seguir são armazenadas no arquivo JSON dos metadados de contêiner.
Cluster
-
O nome do cluster onde a tarefa do contêiner está sendo executada.
ContainerInstanceARN
-
O nome de recurso da Amazon (ARN) da instância de contêiner do host.
TaskARN
-
O nome de recurso da Amazon (ARN) da tarefa à qual o contêiner pertence.
TaskDefinitionFamily
-
O nome da família de definições de tarefa que o contêiner está usando.
TaskDefinitionRevision
-
A revisão de definição de tarefa que o contêiner está usando.
ContainerID
-
O ID do contêiner do Docker (e não o ID do contêiner do Amazon ECS) para o contêiner.
ContainerName
-
O nome do contêiner da definição de tarefa do Amazon ECS para o contêiner.
DockerContainerName
-
O nome do contêiner que o daemon do Docker usa para o contêiner (por exemplo, o nome que aparece no resultado do comando docker ps).
ImageID
-
O resumo SHA para a imagem do Docker usada para iniciar o contêiner.
ImageName
-
O nome da imagem e a tag para a imagem do Docker usada para iniciar o contêiner.
PortMappings
-
Todos os mapeamentos de porta associados ao contêiner.
ContainerPort
-
A porta no contêiner que é exposto.
HostPort
-
A porta na instância de contêiner do host que é exposto.
BindIp
-
O endereço IP associado atribuído ao contêiner pelo Docker. Esse endereço IP só é aplicado com o modo de rede
bridge
e só pode ser acessado pela instância de contêiner. Protocol
-
O protocolo de rede usado para o mapeamento da porta.
Networks
-
O modo de rede e o endereço IP do contêiner.
NetworkMode
-
O modo de rede da tarefa à qual o contêiner pertence.
IPv4Addresses
-
Os endereços IP associados ao contêiner.
Importante
Se a sua tarefa estiver usando o modo de rede
awsvpc
, o endereço IP do contêiner não será retornado. Nesse caso, você pode recuperar o endereço IP lendo o arquivo /etc/hosts com o seguinte comando:tail -1 /etc/hosts | awk '{print $1}'
MetadataFileStatus
-
O status do arquivo de metadados. Quando o status for
READY
, o arquivo de metadados estará atualizado e concluído. Se o arquivo ainda não estiver pronto (por exemplo, no momento em que a tarefa é iniciada), uma versão truncada do formato de arquivo estará disponível. Para evitar uma provável condição de corrida na qual o contêiner foi iniciado, mas os metadados ainda não foram criados, você pode analisar o arquivo de metadados e aguardar até que esse parâmetro seja definido comoREADY
antes, dependendo dos metadados. Isso geralmente fica disponível menos de 1 segundo depois que o contêiner é iniciado. AvailabilityZone
-
A zona de disponibilidade na qual a instância de contêiner do host reside.
HostPrivateIPv4Address
-
O endereço IP privado da tarefa à qual o contêiner pertence.
HostPublicIPv4Address
-
O endereço IP público da tarefa à qual o contêiner pertence.
exemplo Arquivo de metadados do contêiner do Amazon ECS (READY
)
O exemplo a seguir mostra um arquivo de metadados do contêiner com status 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 }
exemplo Arquivo incompleto de metadados do contêiner do Amazon ECS (ainda não READY
)
O exemplo a seguir mostra um arquivo de metadados de contêiner que ainda não atingiu o status READY
. As informações no arquivo são limitadas a alguns parâmetros conhecidos da definição de tarefa. O arquivo de metadados do contêiner deve estar pronto em até 1 segundo após o contêiner ser iniciado.
{ "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" }