如何连接nsqd和nsqlookupd容器?

我正在尝试连接这两个docker集装箱:

nsqd: https: //registry.hub.docker.com/u/mreiferson/nsqlookupd/ nsqlookupd: https ://registry.hub.docker.com/u/mreiferson/nsqlookupd/

这些是nsqd和nsqlookupd的官方docker集装箱。

问题是,当我在nsqd中创build主题时,在nsqlookupd中看不到该主题。

curl -d 'hello world 1' 'http://172.17.42.1:4151/put?topic=test' // to create the test topic curl http://172.17.42.1:4151/stats // shows that I have messages with topic = test curl http://172.17.42.1:4161/topics // ??? shows that I have no topic. 

我开始我的2个容器像这样(172.17.42.1是我的docker主机IP):

 docker run --name lookupd -p 4160:4160 -p 4161:4161 mreiferson/nsqlookupd docker run --name nsqd -p 4150:4150 -p 4151:4151 -e BROADCAST_ADDRESS=172.17.42.1:4160 mreiferson/nsqd 

我很明显连接2个容器不正确。 我将如何去正确连接它们?

我最终创build了我自己的nsqd docker容器来解决我的问题: https : //github.com/rexposadas/nsqd

将nsqd容器链接到nslookupd容器,并告诉它在哪里可以findnslookupd。 对于你来说,这应该看起来像这样:

docker run -d --name nsqd -p 4150:4150 -p 4151:4151 --link nslookupd:nslookupd mreiferson/nsqd --lookupd-tcp-address=nslookupd:4160 --broadcast-address=172.17.42.1

另外,为什么你使用mreiferson而不是nsqio / *图像的任何原因?