Можно ли установить порт в «режиме хоста» в докере? - PullRequest
1 голос
/ 03 июня 2019

Можно ли настроить номер порта в докере в "режиме хоста"?

Я хочу привязать приложение к порту 5050 вместо порта 80.

Однако, когда я запускаю скрипт ниже, он будет привязываться по умолчанию к 80 порту:

sudo docker run --name=myname --network host -d webapi:1.0.0 --restart=always 

Итак, я попытался запустить с «-p 5050», например

sudo docker run --name=myname --network host -d webapi:1.0.0 --restart=always -p 5050
sudo docker run --name=myname --network host -d webapi:1.0.0 --restart=always -p 5050:5050

К сожалению, мой терминал Linux вернулся с:

WARNING: Published ports are discarded when using host network mode

Образ докера выглядит примерно так:

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/docker/building-net-docker-images?view=aspnetcore-2.2

А мой Dockerfile выглядит так:

FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /publish
COPY .  .
EXPOSE 5050
ENTRYPOINT ["dotnet", "WebApi.dll"]

Ответы [ 2 ]

1 голос
/ 03 июня 2019

Легким выходом будет запуск приложения на порту 5050. Как только ваш контейнер будет запущен и запущен, вы должны иметь доступ к своему приложению через порт 5050 на хосте Docker. Вам не нужно связывать какие-либо порты, потому что вы используете саму сеть хоста.

0 голосов
/ 03 июня 2019

Спасибо пользователю "@atline" за ответ.Разрешено только 80 портов.Более подробная информация находится здесь: https://docs.docker.com/network/host/

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