无法连接到docker容器微服务

时间:2017-08-03 10:03:18

标签: azure docker docker-compose windows-container

我正在使用docker compose在docker容器中运行微服务。 docker-compose.yml文件如下。

version: '2.1'
services:
flousermanagement:
  build: 
    context: ../FloUserManagement/bin/Debug/netcoreapp2.0/publish
    dockerfile: Dockerfile
  ports:
   - "5001:5001"
   - "8080:8080"
  volumes:
   - 

      ../FloUserManagement/bin/Debug/netcoreapp2.0/publish/data: 
      c:\floUserManagement\data   

dockerfile。

 FROM microsoft/dotnet:2.0.0-preview2-sdk-nanoserver
 ENTRYPOINT ["dotnet", "FloUserManagement.dll"]
 ARG source=.
 WORKDIR /floUserManagement
 ENV ASPNETCORE_URLS http://+:5001
 EXPOSE 5001
 EXPOSE 8080
 COPY $source .

我无法连接到locahost。没有容器运行的代码工作正常但不在容器内。我尝试跟踪容器上的请求,但我无法在locahost:5000上访问容器内的任何端点。

是否由于dotnet核心2.0.0-preview2版本升级? 是否由于localhost没有从IPv4映射到IPv6? 可能有什么办法解决这个问题?

我在azure vm上运行docker企业版。 Windows Server 2016数据中心 英特尔至强2.4GHz双核。 x64位7GB RAM。我使用的是Docker企业而不是社区版。

1 个答案:

答案 0 :(得分:0)

这是当前WinNAT实施中的一个错误。无法从相同的主机连接到localhost发布的端口。您将能够从外部容器使用映射端口,但不能在本地使用。这似乎没有安排在Windows 2016的下一个主要版本中修复。(https://docs.docker.com/docker-for-windows/troubleshoot/#limitations-of-windows-containers-for-localhost-and-published-ports