我希望能够从容器中访问一些在ECS的task.json中烘焙的值。有可能吗?我知道我们可以在任务定义中添加environment部分,可以在docker容器中引用它,但我也可以访问其他实体,例如,假设我想从容器中访问awslogs-group。该怎么做呢?
{
"family": "task-poc",
"containerDefinitions": [
{
"image": "ABC 123",
"name": "logging-poc-1",
"cpu": 1024,
"memory": 1024,
"essential": true,
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": "my_log_group",
"awslogs-region": "us-east-1",
"awslogs-stream-prefix": "foo-transactions-stg-secops"
}
}
}
]
}对于环境变量,我只需执行以下操作
在C# - Environment.GetEnvironmentVariable("MyKey");中
发布于 2019-09-11 17:12:59
不,您不能像获取环境变量那样简单地获得日志组,但是您可以在下面得到这些指标。
curl $ECS_CONTAINER_METADATA_URI从应用程序到获取容器元数据执行此调用
或
对于Linux实例:
cat $ECS_CONTAINER_METADATA_FILEWindows实例(PowerShell):
Get-Content -path $env:ECS_CONTAINER_METADATA_FILE这个会回来的
The following example shows a container metadata file in the READY status.
{
"Cluster": "default",
"ContainerInstanceARN": "arn:aws:ecs:us-west-2:012345678910:container-instance/1f73d099-b914-411c-a9ff-81633b7741dd",
"TaskARN": "arn:aws:ecs:us-west-2:012345678910:task/2b88376d-aba3-4950-9ddf-bcb0f388a40c",
"ContainerID": "98e44444008169587b826b4cd76c6732e5899747e753af1e19a35db64f9e9c32",
"ContainerName": "metadata",
"DockerContainerName": "/ecs-metadata-7-metadata-f0edfbd6d09fdef20800",
"ImageID": "sha256:c24f66af34b4d76558f7743109e2476b6325fcf6cc167c6e1e07cd121a22b341",
"ImageName": "httpd:2.4",
"PortMappings": [
{
"ContainerPort": 80,
"HostPort": 80,
"BindIp": "",
"Protocol": "tcp"
}
],
"Networks": [
{
"NetworkMode": "bridge",
"IPv4Addresses": [
"172.17.0.2"
]
}
],
"MetadataFileStatus": "READY"
}最短路:
将日志配置的值传递给ENV。
"options": {
"awslogs-group": "my_log_group",
"awslogs-region": "us-east-1",
"awslogs-stream-prefix": "foo-transactions-stg-secops"
}把上面的信息传递给ENV
"environment": [
{
"name": "awslogs-group",
"value": "my_log_group"
},
{
"name": "awslogs-region",
"value": "us-east-1"
},
{
"name": "awslogs-stream-prefix",
"value": "foo-transactions-stg-secops"
}
],然后在c#中作为ENV
n C# - Environment.GetEnvironmentVariable("awslogs-group");长途跋涉:
TaskARNhttps://stackoverflow.com/questions/57893404
复制相似问题