Контейнер-докер не может подключиться к компьютеру

Я следую этому руководству

https://docs.docker.com/articles/networking/#between-containers

Я использовал следующие команды

$ sudo brctl addbr bridge0 $ sudo ip addr add 192.168.0.160/24 dev bridge0 $ sudo ip link set dev bridge0 up # Confirming that our bridge is up and running $ ip addr show bridge0 4: bridge0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state UP group default link/ether 66:38:d0:0d:76:18 brd ff:ff:ff:ff:ff:ff inet 192.168.0.160/24 scope global bridge0 valid_lft forever preferred_lft forever # Tell Docker about it and restart (on Ubuntu) $ echo 'DOCKER_OPTS="-b=bridge0"' >> /etc/default/docker $ sudo service docker start 

Он выглядит прекрасно, потому что я вижу, что все мои conatiner получают ip в этом диапазоне.

Теперь, когда у меня есть 3 conatiners

 mysql 192.168.0.3 redis 192.168.0.5 webserver 192.168.0.6 

Теперь, если я ping redis с веб-сервера, он работает

но я cma не могу выполнить ping хост 192.168.0.160 он говорит, что хост назначения невозможен

ИНФОРМАЦИЯ

 vagrant@ubuntu-docker-base:/mydocker/containers$ brctl show bridge name bridge id STP enabled interfaces bridge0 8000.7e8945d no veth1a8b959 veth404a3b2 veth7959157 docker0 8000.5689799 no 

контейнер

 root@286329032cd5:/# ip route default via 192.168.0.160 dev eth0 192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.5 root@286329032cd5:/# ping 192.168.0.3 PING 192.168.0.3 (192.168.0.3) 56(84) bytes of data. 64 bytes from 192.168.0.3: icmp_seq=1 ttl=64 time=0.125 ms 64 bytes from 192.168.0.3: icmp_seq=2 ttl=64 time=0.130 ms 64 bytes from 192.168.0.3: icmp_seq=3 ttl=64 time=0.072 ms ^C --- 192.168.0.3 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1998ms rtt min/avg/max/mdev = 0.072/0.109/0.130/0.026 ms root@286329032cd5:/# ping 192.168.0.160 PING 192.168.0.160 (192.168.0.160) 56(84) bytes of data. From 192.168.0.5 icmp_seq=1 Destination Host Unreachable From 192.168.0.5 icmp_seq=2 Destination Host Unreachable From 192.168.0.5 icmp_seq=3 Destination Host Unreachable ^C --- 192.168.0.160 ping statistics --- 6 packets transmitted, 0 received, +3 errors, 100% packet loss, time 5032ms pipe 3 root@286329032cd5:/# 

  • bash autocomplete не работает, не «завершает»
  • Время выполнения вычисления pi в сценариях оболочки
  • Как подключить приложение, установленное с терминала, к панели запуска в Ubuntu
  • Как автоматически подать два аргумента в программу после запуска?
  • Поиск файлов, которые используют наибольшее дисковое пространство
  • файловые системы ext4 часто развращают
  • Как использовать cd в другом смонтированном жестком диске?
  • 8-битный вход в гном-терминал
  • 3 Solutions collect form web for “Контейнер-докер не может подключиться к компьютеру”

    У меня была аналогичная проблема, когда я хотел подключиться из контейнера докеров к своему узлу для доступа к постфиксному и серверу apache.

    Это помогло добавить такие правила в iptables хоста:

     iptables -A INPUT -i docker0 -p tcp -m tcp --dport 25 -j ACCEPT iptables -A INPUT -i docker0 -p tcp -m tcp --dport 80 -j ACCEPT 

    Эти порты были открыты раньше, но только для интерфейса eth0, а не для docker0;)

    Из вашего руководства:

    Если у вас уже есть Docker и работает с уже настроенным старым docker0, вы, вероятно, захотите начать с остановки службы и удаления интерфейса:

     # Stopping Docker and removing docker0 $ sudo service docker stop $ sudo ip link set dev docker0 down $ sudo brctl delbr docker0 

    У меня была эта проблема при запуске hello-world-nginx image из kitematic

    Если я запустил его с терминала Docker следующим образом, я могу просмотреть выходной HTML-код контейнера из моего браузера Windows:

     docker run -p 80:80 hello-world-nginx 

    Опция -p перенаправляет порт 80 на VirtualBox на порт 80 на контейнере.

    Linux и Unix - лучшая ОС в мире.