2016-10-18 4 views
2

Я действительно смущен этой проблемой. У меня есть два компьютера в нашей внутренней сети. Оба компьютера могут подключаться к внутренним серверам. Оба компьютера имеют одинаковую версию докеров. Я запускаю простой докер-контейнер с командой docker run -it --rm --name cont1 --net=host java:8 на обоих компьютерах. Затем ssh в контейнеры и попытайтесь выполнить ping внутренний сервер. Один из контейнеров может вызывать внутренний сервер, но другой не может связаться с каким-либо внутренним сервером.Хост-сеть Docker не работает

Как это возможно? У вас есть представление об этом?

Спасибо

+1

вы можете просмотреть журнал этой команды в двух серверах: «Суд докер сеть инспектировать мост» – Inforedaster

+1

'кошки/и т.д./resolv.conf' на неудавшемся хосте. Также покажите ошибку ping, это тайм-аут или неразрешимый. – BMitch

+0

Я не знаю, как это работает сейчас. Я переустанавливаю docker на mac, и теперь он работает. Большое спасибо, ребята. – mstzn

ответ

0

соединять контейнер с другими системами в той же самой сети делается путем отображения портов. Для этого вам нужно запустить контейнер докеров с отображением портов. like - docker run -it --rm --name cont1 -p host_ip: host_port: container_port java: 8

например, docker run -it --rm --name cont1 -p 192.168.134.122:1234:1500 Java: 8

Примечание: контейнерный порт приведены в Докер перспективе подвергается в Dockerfile

Теперь, например, контейнер IP будет - 172.17.0.2 порт дан в перспективе является: 1500

Теперь запрос отправить host_ip (192.168.134.122) и host_port (1234) перенаправляется в контейнер с ip (172.17.0.2) и портом (1500).

См обязательных деталей в Iptables -L -n -t нац

Благодаря

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