Fetching AWS instance metadata from within Docker container? Fetching AWS instance metadata from within Docker container? docker docker

Fetching AWS instance metadata from within Docker container?


There should be no difference between doing this in a container vs the host. The container can access EC2 metadata directly.

root@f1e5964e87e4:/# curl http://169.254.169.254/latest/meta-data/iam/security-credentials/myrole{  "Code" : "Success",  "LastUpdated" : "2014-03-14T17:07:24Z",  "Type" : "AWS-HMAC",  "AccessKeyId" : "mykey",  "SecretAccessKey" : "mysecret",  "Token" : "mytoken",  "Expiration" : "2014-03-14T23:09:39Z"}

What do you see when you try the command from within the container? has an IAM role assigned?


As mentioned by @Ben Whaley in comments,below commands worked for me, mentioned in https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html

$gateway = (Get-NetRoute | Where { $_.DestinationPrefix -eq '0.0.0.0/0' } | Sort-Object RouteMetric | Select NextHop).NextHop$ifIndex = (Get-NetAdapter -InterfaceDescription "Hyper-V Virtual Ethernet*" | Sort-Object | Select ifIndex).ifIndexNew-NetRoute -DestinationPrefix 169.254.169.254/32 -InterfaceIndex $ifIndex -NextHop $gateway