Запуск приложения dotnet в Linux с помощью Docker - PullRequest
0 голосов
/ 13 октября 2019

Я создал простое приложение, в основном это приложение по умолчанию, которое выходит из коробки при создании проекта asp net, единственное, что я добавил, - это чванство. поэтому в Свойствах> launchsettings.json я установил URL-адрес запуска, чтобы он указывал на пользовательский интерфейс Swagger.

Я просто хочу запустить его на контейнере Linux и получить доступ к нему на моем хосте Windows.

Я работаю на Windows 10, используя докер для Windows с настройкой контейнеров Linux.

Итак, следующие шаги

создать версию выпуска

   dotnet publish --configuration Release -o dist .\myApi.csproj (tried using the .sln file as well)

запустить контейнер

   docker run --rm -it -v pathTo_dis:/usr/app --name aspApp mcr.microsoft.com/dotnet/core/aspnet:latest

Внутри контейнера, в котором я работаюопубликованное приложение

 dotnet /usr/app/myApi.dll

Я получаю

Сейчас слушаю: http://[::]:80

В другом PowerShell я проверяюКонтейнер для IP-адреса это он 172.17.0.3, и когда я вхожу Ip в браузере, я получаю

Сайт не может быть достигнут

Если я пытаюсьполучить доступ к сайту с помощью localhost: 5003

Эта страница localhost не может быть найдена

Итак, как вы можете запустить основное приложение .net в контейнере linux иесть доступ к нему?

1 Ответ

2 голосов
/ 13 октября 2019

возможно, вам нужно использовать параметр порта, чтобы разрешить доступ извне контейнера.

docker run --rm -it -p 8000:80 -v pathTo_dis:/usr/app --name aspApp mcr.microsoft.com/dotnet/core/aspnet:latest 

, тогда вы можете получить доступ к http://localhost:8000

примечание: 8000:80 первый номер (8000) является хостомпорт, а второй (80) - порт контейнера.

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