首页 > 解决方案 > 无法从 Mac 上的主机连接到 docker 容器

问题描述

我希望我的 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,所以我很可能错过了一些明显的东西。你有什么想法吗?

标签: .netdockerasp.net-core

解决方案


推荐阅读