2017-02-27 2 views
0

Ich kann meinen Sellerie-Container nicht mit dem rabbitmq-Container verbinden, wenn ich --net = host verwende.Wie kann ich einen Sellerie-Container mit dem rabbitmq-Container verbinden, wenn Sie --net = host verwenden?

Ich beginne meine rabbitmq mit:

docker run -d --rm --net=host --hostname=rabbitmq --name=rabbitmq -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=donald -e RABBITMQ_DEFAULT_PASS=duck rabbitmq-mgnt 

mein rabbitmq Server in DNS definiert:

nslookup amqp 
Server:  127.0.0.1 
Address: 127.0.0.1#53 

Name: amqp.service.consul 
Address: 10.68.32.180 

Ich kann Anmeldeinformationen verbinden und überprüfen:

curl -i -u donald:duck http://amqp:15672/api/whoami 
HTTP/1.1 200 OK 
vary: Accept-Encoding, origin 
Server: MochiWeb/1.1 WebMachine/1.10.0 (never breaks eye contact) 
Date: Mon, 27 Feb 2017 20:51:12 GMT 
Content-Type: application/json 
Content-Length: 41 
Cache-Control: no-cache 

Aber ich nicht, verbinden mit Sellerie:

docker run -d --rm --net=host --hostname=celery --name=celery celery 
a52019dbe491926dc28937859c33503db211c79536256a5e8d652e72e6198639 

Docker logs Sellerie

[2017-02-27 20:53:59,979: ERROR/MainProcess] consumer: Cannot connect to amqp://donald:**@amqp:5672//: [Errno -2] Name or service not known. 
Trying again in 2.00 seconds... 

Habe ich etwas verpasst?

Mit freundlichen Grüßen Mathias

+0

Warum nicht 'docker Netzwerk Sellerie-Rabbitmq erstellen 'und dann starten Sie Ihre 2 Container in diesem Netzwerk? Dein Rabbitmq sollte ein Container sein, aber – user2915097

+0

Ich wollte es einfach, da ich viele Caontainer und VM habe, die miteinander reden müssen und deshalb --net = host verwenden. – mat

Antwort

0

fand ich den Grund. Ich hatte vergessen, localhost als Nameserver in /etc/resolv.conf im Sellerie-Container hinzuzufügen.

Danke für Ihre Zeit. Mathias

Verwandte Themen