Не удалось подключиться к микросервису контейнера докеров

Я запускаю микросервис внутри контейнера докеров, используя docker compose. Файл docker-compose.yml выглядит следующим образом.

version: '2.1'
services:
flousermanagement:
  build: 
    context: ../FloUserManagement/bin/Debug/netcoreapp2.0/publish
    dockerfile: Dockerfile
  ports:
   - "5001:5001"
   - "8080:8080"
  volumes:
   - 

      ../FloUserManagement/bin/Debug/netcoreapp2.0/publish/data: 
      c:\floUserManagement\data   

Докерфайл.

 FROM microsoft/dotnet:2.0.0-preview2-sdk-nanoserver
 ENTRYPOINT ["dotnet", "FloUserManagement.dll"]
 ARG source=.
 WORKDIR /floUserManagement
 ENV ASPNETCORE_URLS http://+:5001
 EXPOSE 5001
 EXPOSE 8080
 COPY $source .

Я не могу подключиться к локахосту. Код, работающий без контейнера, прекрасно работает, но не внутри контейнера. Я пытался отслеживать запросы в контейнере, но мне не удалось попасть ни в какие конечные точки внутри контейнера на localhost:5000.

Это связано с обновлением версии dotnet core 2.0.0-preview2? Это связано с тем, что localhost не отображается в IPv6 из IPv4? Что может быть обходным путем для этого?

Я запускаю корпоративную версию Docker на azure vm. Центр обработки данных Windows Server 2016 Двухъядерный процессор Intel Xeon 2,4 ГГц. х64 бит 7 ГБ ОЗУ. Я использую Docker Enterprise, а не версию для сообщества.


person Rajat Agrawal    schedule 03.08.2017    source источник
comment
почему это помечено лазурью? не имеет ничего общего с лазурью, так как не работает на локальном хосте   -  person 4c74356b41    schedule 03.08.2017
comment
Ваше приложение находится в 5001. Почему вы говорите 5000?   -  person Robert    schedule 03.08.2017
comment
Простите за это. Это опечатка. На самом деле это локальный: 5001   -  person Rajat Agrawal    schedule 03.08.2017
comment
Я запускаю контейнер Docker на виртуальной машине Azure. Вот почему я пометил вопрос лазурным цветом.   -  person Rajat Agrawal    schedule 03.08.2017


Ответы (1)


Это ошибка в текущей реализации WinNAT. Подключение к опубликованному порту локального хоста не будет работать с того же хоста. Вы сможете использовать сопоставленный порт из внешнего контейнера, но не локально. Похоже, это не планируется исправлять до следующего основного выпуска Windows 2016. (https://docs.docker.com/docker-for-windows/troubleshoot/#limitations-of-windows-containers-for-localhost-and-published-ports)

person Gregory Suvalian    schedule 03.08.2017
comment
Привет, Грег, я только что проверил документы. Но я не могу получить доступ к службе, используя IP-адрес и порт контейнера, а также из хост-браузера. Что мне делать в этом случае? - person Rajat Agrawal; 04.08.2017
comment
Опубликуйте свое изображение на github - person Gregory Suvalian; 04.08.2017
comment
Я не знаю, как опубликовать свой образ докера на github. Пожалуйста, поделитесь набором инструкций, чтобы сделать это. - person Rajat Agrawal; 08.08.2017