我希望将ASP.NET Core Web应用程序托管在Docker容器中,侦听端口80。到目前为止,我的项目有以下Dockerfile:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app
COPY . ./
RUN dotnet publish PROJECT_NAME -c Release -o out
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY --from=build-env /app/out .
EXPOSE 80
ENTRYPOINT ["dotnet", "PROJECT_NAME.dll"]
我建立我的形象:
docker build -t IMAGE_TAG -f PROJECT_NAME/Dockerfile .
然后我运行我的容器:
docker run IMAGE_TAG -p 80:80
控制台日志显示它正在运行:
[18:54:34 INF] Starting web host.
[18:54:34 INF] Now listening on: http://[::]:80
[18:54:34 INF] Application started. Press Ctrl+C to shut down.
[18:54:34 INF] Hosting environment: Production
[18:54:34 INF] Content root path: /app
我的Web应用程序具有/ api / health的运行状况检查终结点,它仅返回“健康”以表示一切正常。
但是,当我进入浏览器并输入以下任意内容时,什么也没发生:
这是我第一次与docker混在一起,所以我很可能错过了一些明显的事情。你有什么想法吗?