2016-08-25 3 views
1

Эта проблема возникает, если вы устанавливаете последнюю версию Docker для Windows, использующую Hyper-V.Подключение к контейнерам IP-адрес невозможно в Docker для Windows

Однако вы можете видеть IP-адреса в docker network inspect bridge выхода:

"Containers": { 
      "...": { 
       "Name": "dockerdevenvironment_rabbit_1", 
       "EndpointID": "...", 
       "MacAddress": "02:42:ac:11:00:04", 
       "IPv4Address": "172.17.0.4/16", 
       "IPv6Address": "" 
      }, 
      "...": { 
       "Name": "webserver", 
       "EndpointID": "...", 
       "MacAddress": "02:42:ac:11:00:02", 
       "IPv4Address": "172.17.0.2/16", 
       "IPv6Address": "" 
      }, 
      "...": { 
       "Name": "dockerdevenvironment_mongo_1", 
       "EndpointID": "...", 
       "MacAddress": "02:42:ac:11:00:05", 
       "IPv4Address": "172.17.0.5/16", 
       "IPv6Address": "" 
      } 

Вы не можете даже пинг их или соединить их в любом случае.

+0

Когда вы говорите, что вы не можете подключиться, что это значит? Вы используете контейнер и не можете его загрузить в браузере? Вы открыли порт для контейнера? Что вы видите, когда запускаете docker ps? Вы пытались подключиться к http: // localhost? Вот где должны быть контейнеры Docker для Windows. –

+0

он не подключается к локальному хосту, даже для собственного примера (docker run -d -p 80:80 --name webserver nginx) – maxpovver

ответ

3

По умолчанию dockerNAT присваивает MobyLinuxVM 10.0.75.0/24. Докер внутри MobyLinuxVM присваивает контейнерам IP-адреса в диапазоне 172.17.0.0/16. Вы должны изменить таблицы маршрутизации для контейнеров доступа IP-адрес:

route add 172.17.0.0 MASK 255.255.0.0 10.0.75.2 -p

Источник: https://forums.docker.com/t/connecting-to-containers-ip-address/18817

+0

Это было бы только если кто-то пытался получить доступ к контейнеру с другой машины. Localhost должен работать. –

+0

@ManoMarks, но это не так. даже для собственного примера nginx – maxpovver

+0

Как моя основная сеть использует сеть 10.0.0.0/8, Docker назначил сеть 192.168.4.0/24 для MobyLinuxVM. И похоже, что вам все равно придется сопоставлять порты, чтобы иметь доступ к контейнерам ... – Vargas

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