我在我的開發虛擬機本地部署了一個Windows容器,它只包含一個簡單的MVC應用程序來測試功能。我可以部署它很好,我得到的URI爲http://localhost:30001/服務的Uri,當我從我的主機導航到該URL時工作正常,但當我位於擁有該容器的虛擬機內時,我無法訪問它。服務結構容器 - 無法訪問集羣內的服務
Laptop (Can access URL from here)
^
Windows Server 2016 VM (cannot access from here)
^
Container with manually packaged MVC app using the microsoft/aspnet image
後,我已經部署了SF應用程序,我可以通過分配的IP和端口的訪問MVC應用程序Docker(通過使用docker inspect
),我也指定了這個端口8745
我的AppManifest.xml
當我啓動一個示例應用程序(如字母表示例)時,我可以訪問虛擬機內的端點。是否有與容器不相關的事情?由於分區解析器向我提供了在集羣中無法訪問的URL,因此在製作網關無狀態服務時這是一個很大的問題。
編輯: 忘了提及我的防火牆也在我的開發虛擬機內被禁用。
這很奇怪。Service Fabric將端點發布爲「http:// localhost:30001」。這是否意味着我無法提供服務來與容器進行通信?或者有什麼方法通過命名服務獲取該容器的IP地址? – Ryan
在生產羣集上,您可以使用反向代理在容器之間進行通信。這樣您的流量就會流經負載均衡器。 (不理想)。更多信息在這裏:https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-deploy-container我不認爲你可以得到這個工作在開發羣集,沒有修復WinNAT。 – LoekD
有人知道如果有更新嗎?我仍然在從本地主機訪問服務結構中的容器時遇到問題 –