2016-06-28 6 views
4

Я пробовал Windows Containers на сервере Windows 2016 TP5. Внезапно я начал получать ошибку во время работы контейнера с опцией порта картографирования -p 80:80Контейнер Windows не запускался с ошибкой, «не удалось создать конечную точку в сети nat: ошибка HNS с ошибкой: не удалось создать конечную точку».

c:\>docker run -it -p 80:80 microsoft/iis cmd 
docker: Error response from daemon: failed to create endpoint sharp_brahmagupta on network nat: HNS failed with error : Failed to create endpoint. 

Я убедился, что никакой другой контейнер не работает и порт 80 на хост-машине не используется какой-либо другой службы.

Неужели кто-то сталкивается с такой же проблемой?

С уважением

ответ

7

После поиска вокруг я stunbled по this вопросу на GitHub. Вероятно, это была известная проблема с контейнерами Windows на сервере Windows TP5.

Тогда благодаря this форуму, я нашел решение Вы можете проверить активное статическое сопоставление порта с ниже командами

C:\>powershell 
PS C:\>Get-NetNatStaticMapping 


StaticMappingID    : 3 
NatName      : Hda6caca4-06ec-4251-8a98-1fe0b4c5af88 
Protocol      : TCP 
RemoteExternalIPAddressPrefix : 0.0.0.0/0 
ExternalIPAddress    : 0.0.0.0 
ExternalPort     : 80 
InternalIPAddress    : 172.31.181.4 
InternalPort     : 80 
InternalRoutingDomainId  : {00000000-0000-0000-0000-000000000000} 
Active      : True 

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

Но я удалил его с помощью команды внизу.

PS C:\> Get-NetNatStaticMapping | ? ExternalPort -eq 80 | Remove-NetNatStaticMapping 

Затем просто перезагрузили систему, и ошибка исчезла.

2

У меня была подобная ошибка.

$ docker --version 
Docker version 1.13.0-rc3, build 4d92237 
$ docker-compose -f .\docker-compose.windows.yml up 
Starting musicstore_db_1 

ERROR: for db Cannot start service db: {"message":"failed to create endpoint musicstore_db_1 on network nat: HNS failed with error : Unspecified error"} 
ERROR: Encountered errors while bringing up the project. 

Статическое удаление отображение не работает, только удаление сети помогло:

Get-ContainerNetwork -Name nat | Remove-ContainerNetwork 

Выполните команду в PowerShell от имени администратора, а затем перезапустить Докер.


Update:

Используйте CleanupContainerHostNetworking.ps1 сценарий для решения Docker 17 вопросов сетей.

.\CleanupContainerHostNetworking.ps1 -Cleanup -ForceDeleteAllSwitches 

 Смежные вопросы

  • Нет связанных вопросов^_^