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