2017-01-09 2 views
0

기능을 테스트하기위한 간단한 MVC 응용 프로그램 만 포함 된 개발 용 VM에 로컬로 Windows 컨테이너가 배포되었습니다. 괜찮게 배포 할 수 있으며 서비스에 대한 Uri가 http://localhost:30001/인데 내 호스트에서이 URL로 이동할 때 제대로 작동하지만 컨테이너가있는 내 VM 내에있을 때는 액세스 할 수 없습니다.서비스 패브릭 컨테이너 - 클러스터 내 서비스에 액세스 할 수 없음

Laptop (Can access URL from here)

^

Windows Server 2016 VM (cannot access from here)

^나는 할당 된 IP 및 포트를 통해 MVC 응용 프로그램에 액세스 할 수있는 SF 응용 프로그램을 배포 한 후

Container with manually packaged MVC app using the microsoft/aspnet image

Docker (docker inspect 사용) 또한 해당 포트를 지정했습니다. 8745AppManifest.xml

알파벳 예와 같은 예제 응용 프로그램 중 하나를 돌릴 때 VM 내의 끝점에 액세스 할 수 있습니다. 컨테이너를 허용하지 않는 컨테이너와 관련이 있습니까? 이는 파티션 분석기가 클러스터 내에서 액세스 할 수없는 URL을 제공하므로 게이트웨이 Stateless 서비스를 만들 때 큰 문제입니다.

편집 : 내 개발 VM에서 내 방화벽도 사용할 수 없습니다.

답변

0

나는 this 호를 치고 있다고 생각합니다. 컨테이너 IP 주소를 사용하지 않으면 localhost에서 실행되는 컨테이너에 액세스 할 수 없습니다. 현재 릴리스

, 당신은 컨테이너 호스트에서 사이트를 찾아 http://localhost을 사용할 수 없습니다. 이는 WinNAT에서 알려진 동작 으로 인해 향후 해결 될 예정입니다. 주소가 지정 될 때까지 컨테이너의 IP 주소를 사용해야합니다.

+0

입니다. 서비스 패브릭은 끝점을 'http : // localhost : 30001'으로 게시합니다. 컨테이너와 통신 할 수있는 서비스를받을 수 없다는 뜻입니까? 아니면 명명 서비스를 통해 컨테이너 IP 주소를 가져 오는 방법이 있습니까? – Ryan

+0

프로덕션 클러스터에서 역방향 프록시를 사용하여 컨테이너간에 통신 할 수 있습니다. 이렇게하면 트래픽이로드 밸런서를 통과합니다. (이상적은 아닙니다.) 자세한 정보는 여기에 있습니다 : https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-deploy-container 당신이 이것을 dev에 대해서 작동시킬 수 있다고 생각하지 않습니다. 클러스터, WinNAT가 수정되지 않음. – LoekD

+0

아직 업데이트가 있는지 아는 사람이 있습니까? localhost의 서비스 패브릭에서 컨테이너에 액세스하는 데 여전히 문제가 있습니다. –

관련 문제