2016-10-24 14 views
6

Gdy próbuję i podłączyć do portu od wewnątrz mojego pojemnika do innego pojemnika, jestem nieudaną i dostać,Docker - Brak trasy do hosta

[email protected]:/opt/f5massupgrade# curl -v https://172.17.0.1:6379 
* Rebuilt URL to: https://172.17.0.1:6379/ 
* Hostname was NOT found in DNS cache 
* Trying 172.17.0.1... 
* connect to 172.17.0.1 port 6379 failed: No route to host 
* Failed to connect to 172.17.0.1 port 6379: No route to host 
* Closing connection 0 

od gospodarza Döcker Jestem udany,

[[email protected] ~]# curl -v https://172.17.0.1:6379/0 
* About to connect() to 172.17.0.1 port 6379 (#0) 
* Trying 172.17.0.1... 
* Connected to 172.17.0.1 (172.17.0.1) port 6379 (#0) 
* Initializing NSS with certpath: sql:/etc/pki/nssdb 
* CAfile: /etc/pki/tls/certs/ca-bundle.crt 
    CApath: none 

Jeśli sprawdzić iptables widzę problemu,

[[email protected] ~]# iptables -S INPUT 
-P INPUT ACCEPT 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -i docker0 -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A INPUT -j REJECT --reject-with icmp-host-prohibited 

Więc dodam następujące i to wszystko działa dobrze,

iptables -I INPUT 4 -i docker0 -j ACCEPT 

jestem brakuje czegoś tutaj?

[[email protected] ~]# docker version 
Client: 
Version:   1.9.1 
API version:  1.21 
Package version: docker-common-1.9.1-40.el7.centos.x86_64 
Go version:  go1.4.2 
Git commit:  ab77bde/1.9.1 
Built: 
OS/Arch:   linux/amd64 

Server: 
Version:   1.9.1 
API version:  1.21 
Package version: docker-common-1.9.1-40.el7.centos.x86_64 
Go version:  go1.4.2 
Git commit:  ab77bde/1.9.1 
Built: 
OS/Arch:   linux/amd64 

Dzięki

+0

W jaki sposób prowadzisz swoje pojemniki? Dzięki wewnętrznemu adresowi IP kontenery mogą się nawzajem docierać tylko do siebie, jeśli znajdują się w tej samej sieci Docker. –

+0

Tak, wszystkie są w tej samej sieci. Wystawiam wymagany port na każdym z nich. Nie ustawiam żadnego adresu IP, ponieważ wszystkie one komunikują się za pośrednictwem docker0 – felix001

Odpowiedz

1

Spróbuj uruchomić pojemnik z flagą --net ustawić gospodarzem.

docker run --net host image 
+0

Jaki był rezultat. jak to rozwiąże problem? –

+0

Tak, to rozwiązało problem. kontener dokera nie był w stanie połączyć się z hostem. nie było w stanie znaleźć sieci do osiągnięcia. zaakceptuje twoją odpowiedź –

Powiązane problemy