Запуск Docker не привязывает порт хоста

#docker #asp.net-core #visual-studio-2019

Вопрос:

Я пытаюсь убежать. asp.net веб-приложение core 3.1 внутри docker максимально простое, но docker не привязывает порт хоста.

Хост: Windows 10

Цель контейнера: Linux

Версия докера: 20.10.7

Докерфайл:

 FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base
EXPOSE 80
EXPOSE 443
WORKDIR /app

FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
WORKDIR /src
COPY . .
RUN dotnet restore "WebApplication.csproj"
RUN dotnet build "WebApplication.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "WebApplication.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "WebApplication.dll"]
 

Команда сборки Docker (ок)

 docker build -t webapplication .
 

Команда запуска докера (ок)

 docker run webapplication -p 5000:80 -p 5001:443
 

Когда я пытаюсь получить доступ к веб-сайту на своем локальном хостинге (http://localhost:5000) Я понимаю, что до этого сайта нельзя добраться. Запуск docker ps возвращенной информации о портах без сопоставления портов хоста

введите описание изображения здесь

Комментарии:

1. добавить -p сразу после run

2. Ваша команда запуска должна быть docker run -p 5000:80 -p 5001:443 webapplication

3. Спасибо! Я действительно думал, что порядок не имеет значения

Ответ №1:

Как правильно указал @marzelin, вам нужно добавить флаг сразу после запуска.