Не удалось получить доступ к рабочему веб-приложению в контейнере окон Docker через локальный хост

Я использую Windows 10 вер. 1709 и докер 17.09.1-ce-win42 (с использованием контейнеров Windows). Я успешно создал образ своего приложения ASP.NET, используя microsoft/aspnet в качестве базового образа.

Чтобы создать контейнер, я использую команду:

docker run -d -p 8001:80 --name mycontainer myimage:v1.

Контейнер создан правильно, и если я хочу получить доступ к веб-сайту, я использую IP-адрес контейнера, известный благодаря

docker inspect --format '{{ .NetworkSettings.Networks.nat.IPAddress }}' mycontainer

Несмотря на это, я хочу получить доступ к своему приложению через localhost:8001 - это не работает.

Может ли кто-нибудь сказать мне, если и что я сделал что-то не так? Я читал, что сопоставление в контейнерах Windows проблематично.

Заранее спасибо :)


person Yamonshi    schedule 09.01.2018    source источник


Ответы (1)


Это известная ошибка в реализации Winnat для Windows. Нет решения для этого, но либо доступ по внутреннему IP-адресу, либо доступ к нему извне.

Подробности

Будет исправлено в следующей версии Windows

https://blogs.technet.microsoft.com/networking/2017/11/06/available-to-windows-10-insiders-today-access-to-published-container-ports-через-localhost127-0-0-1/

person Gregory Suvalian    schedule 09.01.2018
comment
Спасибо за ответ :) Не могли бы вы уточнить, если я ошибаюсь - прямо сейчас Windows Insiders - это программа для тестирования новых функций, она не выпускается как часть обновления Windows, верно? Поэтому я не могу получить доступ к его функциональности? - person Yamonshi; 10.01.2018
comment
Правильно, вы должны зарегистрироваться в этой программе и принять участие, чтобы получить эту функциональность. - person Gregory Suvalian; 10.01.2018