这可能是由于容器和主机之间的端口绑定不正确导致的。您可以在Dockerfile中将应用程序绑定到正确的端口,并确保主机或云上的端口映射正确。
例如,如果您的应用程序在端口5000上运行,您可以使用以下Dockerfile:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /app
COPY . .
RUN dotnet restore
RUN dotnet publish -c Release -o out
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS runtime
WORKDIR /app
COPY --from=build /app/out ./
# 暴露该应用程序将侦听的端口
EXPOSE 5000/tcp
# 指定应用程序的启动命令
ENTRYPOINT ["dotnet", "myapp.dll"]
在Dockerfile中使用EXPOSE关键字公开容器端口5000,以便容器在Docker主机或云中建立连接时可以使用该端口。
您还可以在docker run命令中使用-p标志,将主机和容器之间的端口绑定起来。例如:
docker run -p 5000:5000 myapp
指定容器的端口5000与主机上的端口5000进行绑定。这将使浏览器通过主机IP地址和端口5000访问应用程序。
确保您的云提供商或网络管理员启动了您的Container Registry和相应的容器解释器,并且已经在防火墙和可访问性设置方面进行了正确的配置。
上一篇:ASPNETCoreAPI为什么在200响应中返回500内部服务器错误?
下一篇:ASPNETCOREAzureADB2CSPAloginpopupisshowingincorrectemailaddress