#c# #docker #docker-compose #dockerfile
#c# #docker #docker-compose #dockerfile
Вопрос:
У меня есть простой API, который я запускаю в Docker
Когда я запускаю команду для запуска моего изображения, я получаю вывод ниже
docker run newapi:latest mee
info: Microsoft.Hosting.Lifetime[0]
Now listening on: http://[::]:80
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
Content root path: /api
Все это выглядит нормально
Однако при использовании Postman мне отказывают в подключении
http://localhost/weatherforecast
Есть идеи, что не так?
Мой файл docker:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /api
# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore
# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out
EXPOSE 80
# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /api
COPY --from=build-env /api/out .
ENTRYPOINT ["dotnet", "api.dll"]
Как вы можете видеть, я открываю порт 80
Я могу использовать http://localhost:8080 но я просто хочу иметь возможность использовать http://localhost
Ответ №1:
При запуске docker попробуйте сопоставить порт
docker run -p 80:80 newapi:latest mee