簡體   English   中英

無法從同一台計算機上的Docker容器連接到Azure存儲模擬器

[英]Unable to connect to Azure Storage Emulator from a docker container on the same machine

我在Visual Studio 2017中成功地對.net core 2.2 Web API應用程序進行了docker化。 該應用程序的一部分應該將一些數據存儲到與VS 2017運行所在同一台計算機上運行的Azure存儲模擬器。 仿真器的配置如下所示:

<services>
   <service name="Blob" url="http://127.0.0.1:10000/"/>
   <service name="Queue" url="http://127.0.0.1:10001/"/>
   <service name="Table" url="http://127.0.0.1:10002/"/>
</services>

docker-compose.yml文件具有以下網絡定義:

build:
      context: .
      dockerfile: MyWebApi\Dockerfile
      network: host

我可以在https://127.0.0.1:44315/api/values查看Web api的輸出

根據我的理解,“主機”網絡配置通過將容器的主機IP地址分配給容器來完成其工作,到目前為止,這似乎還不錯。 問題是,盡管有上述配置,為什么容器中的dockerized Web應用仍無法與仿真器通信。 此練習中缺少什么?

據我所知, Azure存儲模擬器綁定在僅限本地的網絡配置中, 適用於Windows的Docker在使用Hyper-VVM中運行。

恐怕解決方案是在開發時使用microsoft / azure-storage-emulator映像並將您的API指向它。

更新資料

您也可以嘗試使用host.docker.internal而不是127.0.0.1作為連接字符串中的主機(這也可以讓您使用在主機上而不是容器上運行的仿真器)。

希望能幫助到你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM