1

これら2つのドッカーコンテナを接続しようとしています:

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つのコンテナを間違って接続しています。それらを適切に接続するにはどうすればよいですか?

4

2 に答える 2

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

また、nsqio/* イメージではなく mreiferson を使用した理由はありますか?

于 2014-09-29T23:51:41.080 に答える