Получение "localhost отказался подключаться". при попытке получить доступ к контейнеризованному приложению .netcore3.1 WeatherForecast - PullRequest
2 голосов
/ 04 апреля 2020

У меня есть приложение .netcore 3.1 api, созданное со стандартным контроллером WeatherForecast. Я создал 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". Но когда я пытаюсь получить к нему доступ в браузере Chrome с http://localhost: 5000 / WeatherForecast , браузер возвращает

"This site can’t be reached
localhost refused to connect." error. 

Нужна помощь здесь для устранения этой проблемы. Спасибо!

1 Ответ

2 голосов
/ 04 апреля 2020

Согласно вашему 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...