2017-02-27 6 views
0

--net = host를 사용할 때 셀러리 컨테이너를 rabbitmq 컨테이너에 연결할 수 없습니다.- net = host를 사용할 때 셀 비트 컨테이너를 rabbitmq 컨테이너에 어떻게 연결할 수 있습니까?

내 rabbitmq 서버가 DNS에 정의되어
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 

:

nslookup amqp 
Server:  127.0.0.1 
Address: 127.0.0.1#53 

Name: amqp.service.consul 
Address: 10.68.32.180 

내가 연결 자격 증명을 확인할 수 있습니다

나는 내 rabbitmq을 시작

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 

을하지만 실패 셀러리와 연결 :

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

고정 표시기 로그 셀러리

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

내가 뭔가를 놓친 적이 있습니까? 친절 감사 마티아스

+0

왜 docker network가 celery-rabbitmq을 만들고이 네트워크에서 컨테이너 2 개를 시작하지 않습니까? 귀하의 rabbitmq는 콘테이너이어야하지만 – user2915097

+0

나는 서로에게 이야기 할 필요가있는 많은 caottainers와 VM을 가지고 있기 때문에 간단하게 원했기 때문에 --net = host를 사용했습니다. – mat

답변

0

나는 이유를 발견했다. 셀러스 컨테이너의 /etc/resolv.conf에 localhost를 nameserver로 추가하는 것을 잊어 버렸습니다.

감사합니다. Mathias