【发布时间】:2020-08-05 22:40:28
【问题描述】:
Azure VM 可以查询位于169.254.159.254 的Instance Metadata Service 以获取数据。但是,这在 VM 上运行的 Windows 容器中不起作用。
Windows 容器如何查询只能从主机 VM 访问的实例元数据服务?
例如,当使用这样的 Windows 容器时:docker run -it --rm mcr.microsoft.com/windows/servercore:ltsc2019
并像这样查询数据:Invoke-RestMethod -Headers @{"Metadata"="true"} -Method GET -Uri http://169.254.169.254/metadata/instance?api-version=2019-06-01
结果如下:
At line:1 char:1
+ Invoke-RestMethod -Headers @{"Metadata"="true"} -Method GET -Uri http ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebExc
eption
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
【问题讨论】:
标签: azure docker networking containers