gpt4 book ai didi

docker - 尝试访问容器化的 .netcore3.1 WeatherForecast 应用程序时获取 "localhost refused to connect."

转载 作者:行者123 更新时间:2023-12-02 18:18:19 24 4
gpt4 key购买 nike

我有一个 .netcore 3.1 api 应用程序,其中包含默认的 WeatherForecast Controller 。我创建了如下所示的 Dockerfile:

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /build

COPY . .
RUN dotnet restore
RUN dotnet publish -c Release -o output

FROM mcr.microsoft.com/dotnet/core/sdk:3.1
WORKDIR /app
EXPOSE 5000

COPY --from=build-env /build/output .
ENTRYPOINT ["dotnet","AnotherSampleDockerExample.dll"]

我还有 docker-compose.yml如下所示:
version : '3'
services:
api:
image: dockerapi
container_name: docker_api
build:
context: .
ports:
- 8080:80

我能够通过使用命令“docker-compose up”成功创建图像和容器。但是当我尝试使用 http://localhost:5000/WeatherForecast 在 Chrome 浏览器上访问它时,浏览器返回
"This site can’t be reached
localhost refused to connect." error.

需要帮助来调试这个问题。谢谢!

最佳答案

根据您的 Dockerfile,您将暴露端口 5000。因此,在您的 docker-compose.yaml 中您应该从 8080:80 更新端口映射至 8080:5000即你的文件应该是这样的:

version : '3'
services:
api:
image: dockerapi
container_name: docker_api
build:
context: .
ports:
- 8080:5000

在您的机器上,现在应该可以通过 http://localhost:8080/WeatherForecast 访问该站点。

关于docker - 尝试访问容器化的 .netcore3.1 WeatherForecast 应用程序时获取 "localhost refused to connect.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61022557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com