我正在尝试连接这两个docker容器:
nsqd:https://registry.hub.docker.com/u/mreiferson/nsqlookupd/ nsqlookupd:https://registry.hub.docker.com/u/mreiferson/nsqlookupd/
这些是nsqd和nsqlookupd的官方docker容器。
问题是当我在nsqd中创建主题时,我在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个容器。我该如何正确连接它们?
答案 0 :(得分:2)
我最终创建了自己的nsqd docker容器来解决我的问题:https://github.com/rexposadas/nsqd
答案 1 :(得分:0)
将nsqd容器链接到nslookupd容器并告诉它在哪里找到nslookupd。 对你来说,这应该是这样的:
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 / *图像的原因是什么?