无法连接到码头集装箱微服务

问题描述:

我正在码头集装箱内使用码头集合构建一个微服务。 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版本升级? 是否由于本地主机没有从IPv4映射到IPv6? 有什么可以解决这个问题?

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

+0

为什么这是标记为天青?与azure无关,因为它不适用于本地主机 – 4c74356b41

+0

您的应用程序在5001.为什么说5000? – Robert

+0

对不起。这是一个错字错误。它实际上是localhost:5001 –

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

+0

嘿格雷格,我刚刚检查了文档。但我无法使用容器IP和端口以及主机浏览器访问该服务。在这种情况下我该怎么办? –

+0

在github上发布您的图像 –

+0

我不知道如何在github上发布我的docker镜像。请分享一组指示来做到这一点。 –