Я пытаюсь получить доступ к. net ядру webapi, размещенному в контейнере docker, из браузера на хосте (Win 10 Pro 1903; Docker Desktop 2.1.0.5 с использованием Linux контейнеров).
Ничего особенного в вебапи; просто новый dotnet new webapi
проект, использующий. net core 3.1 sdk.
Я могу получить доступ к webapi через docker интерактивный терминал и через kitemati c, так что все там блестит. Все начинает сбиваться с пути, когда я пытаюсь подключиться к контейнеру с хоста. Доступ к контейнеру из браузера / сбой проверки связи (используется localhost, 127.0.0.1 и ip контейнера).
Я убедился, что все обновлено, несколько раз перенастроил порты и даже попробовал что-то на ma c с теми же результатами.
Вот файл docker
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app
COPY *.csproj ./
RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o out
FROM mcr.microsoft.com/dotnet/core/sdk:3.1
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "webapi.dll"]
Я не уверен, что это проблема с изображением SDK (следует ли мне использовать вместо nano-образа) или если это проблема с конфигурацией Kestral (в чем я сомневаюсь).
Любые предложения будут потрясающими
EDIT Docker -Compose
services:
app:
image: fooey/webapi
build:
context: .
dockerfile: Dockerfile
ports:
- "8000:5001"
и для ручного запуска docker run -p 8000:5001 --name api webapi