Не выводятся данные при использовании внутреннего IP-адреса docker - PullRequest
0 голосов
/ 05 августа 2020

Я использую docker контейнер для своего asp. net основное веб-приложение api, и контейнер запущен и работает.

Теперь я получаю docker внутренний IP-адрес, используя команду ниже,

docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" d986472784cb и получение IP-адреса как 172.20.0.2.

Теперь я не получаю никакого результата при нажатии ниже URL-адреса в браузере

http://172.20.0.2/WeatherForecast, видя ERR_CONNECTION_TIMED_OUT ошибка.

локальный адрес https://localhost:32772/weatherforecast работает нормально.

В чем может быть проблема?

Ответы [ 2 ]

1 голос
/ 05 августа 2020

Частный IP-адрес контейнера просто не работает во множестве обычных обстоятельств:

  • Если вы звоните не с того же хоста, частный IP-адрес контейнера не будет доступен вообще
  • Если задействована виртуальная машина (Docker Toolbox на Windows, Docker Desktop на Windows или Ma c), частный IP-адрес контейнера не будет достижимость вообще
  • Если вы не в той же Docker -внутренней сети, возможно, вы не сможете получить доступ к частному IP-адресу контейнера

, поскольку он не работают во многих средах, я бы вообще не рекомендовал искать этот IP-адрес: забудьте, что существует конкретная команда docker inspect. В браузере используйте IP-адрес или DNS-имя вашего хоста (или localhost, если контейнеры и браузер находятся в одной системе, но не, если задействован Docker Toolbox) и опубликованный номер порта (docker run -p опция, Docker Составьте параметр ports:, первый номер порта из этой пары).

0 голосов
/ 05 августа 2020

Вам нужен номер порта в url IP-адреса. http://172.20.0.2: 32772 / Прогноз погоды

...