Docker与.NET Core无法联系

林新的Docker和即时尝试设置2个容器,一个运行mongoDB和一个运行的Web应用程序。

问题是我无法通过localhost:5000或0.0.0.0:5000访问我的.NET核心应用程序。

Mongo运行良好。

这是我的docker-compose.yml

version: '3' services: web: build: . ports: - "5000:5000" mongo: build: ../../../docker/wishare-mongo/ volumes: - ../../../docker/wishare-mongo:/data/db ports: - "27017:27017" 

用于.NET Core应用程序的Dockerfile

 FROM microsoft/aspnetcore-build:2.0 AS build-env WORKDIR /app ENV ASPNETCORE_URLS="http://*:5000" # Copy csproj and restore as distinct layers COPY *.csproj ./ RUN dotnet restore # Copy everything else and build COPY . ./ RUN dotnet publish -c Release -o out # Build runtime image FROM microsoft/aspnetcore:2.0 WORKDIR /app COPY --from=build-env /app/out . EXPOSE 5000 ENTRYPOINT ["dotnet", "Wishare-Integration-Api.dll"] 

docker-compose build和docker-compose运行时没有出现错误,这导致了web容器:

web_1 | 主机环境:生产web_1 | 内容根path:/ app web_1 | 现在正在监听: http:// [::]:80 web_1 | 应用程序启动 按下Ctrl + Cclosures。

而这是docker ps的结果,port 5000应该根据docker ps的结果导出。

Docker的ps结果

有任何想法吗?

看起来像.NET在生产中使用端口80,所以当我更改docker文件和导出端口80而不是5000,也更改端口5000端口80在docker组成它的工作原理。

所以我假设为了在端口5000上运行它将需要在.NET端的一些configuration。