首页 > 解决方案 > docker 容器不分配端口

问题描述

我正在尝试将我的简单 REST Api(基于 asp.net 核心)放入 docker 容器中。

我有以下泊坞窗文件

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80

FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /src
COPY ["/", "SimpleApp.Api/"]
RUN dotnet restore "SimpleApp.Api/SimpleApp.Api.csproj"
COPY . .
WORKDIR "/src/SimpleApp.Api"
RUN dotnet build "SimpleApp.Api.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "SimpleApp.Api.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "SimpleApp.Api.dll"]

我可以从该文件成功构建图像,但是当我运行容器时,例如,我不能调用任何 URL + 我在我的 API 上大摇大摆,所以它应该向我显示一个页面,但它没有吨。

docker run -d --name "mySimpleContainer" "MySimpleApp:latest" --ports 5000:80

像这样的网址localhost:5000不起作用所以首先我检查了日志:

........
2019-02-02 13:37:17.3635||DEBUG|Microsoft.AspNetCore.Hosting.Internal.WebHost|Loaded hosting startup assembly SimpleApp.Api   
Hosting environment: Production
Content root path: /app
Now listening on: http://[::]:80
Application started. Press Ctrl+C to shut down.

在我看来很好。其次,我检查了 5000 是否忙……突然就没有了!!!检查我使用的端口netstat -an | find ":5000"

有谁知道我失败的地方?

标签: c#dockerasp.net-coredockerfile

解决方案


推荐阅读