2016-10-24 9 views
6

Wenn ich versuche, und in einem anderen Behälter zu einem Hafen aus in meinem Behälter verbinden, ich bin erfolglos und erhält,Docker - Keine Route zum Host

[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 

Vom Docker Gastgeber Ich bin erfolgreich,

[[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 

Wenn ich überprüfen Sie die iptables ich das Problem sehen,

[[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 

So ich fügen Sie folgendes und alles gut funktioniert,

iptables -I INPUT 4 -i docker0 -j ACCEPT 

bin ich etwas fehlt hier?

[[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 

Danke,

+0

Wie laufen Sie Ihre Container? Mit der internen IP-Adresse können sich Container nur erreichen, wenn sie sich im selben Docker-Netzwerk befinden. –

+0

ja, sie sind alle im selben Netzwerk. Ich exponiere den jeweils benötigten Port. Ich stelle keine IP ein, da alle über docker0 kommunizieren – felix001

Antwort

1

Versuchen Sie, den Behälter läuft mit der Flagge Host --net auf.

docker run --net host image 
+0

Was war das Ergebnis. Wie wird dies das Problem lösen –

+0

Ja, es löste das Problem. Der Andockcontainer konnte keine Verbindung zum Hostcomputer herstellen. Es war nicht in der Lage, das zu erreichende Netzwerk zu finden. wird deine Antwort akzeptieren –

Verwandte Themen