总三句话
官方地址:https://nsq.io/deployment/docker.html
1.开启基本nsqlookupd
docker pull nsqio/nsq
docker run -d --name lookupd -p 4160:4160 -p 4161:4161 nsqio/nsq /nsqlookupd
注意:主要是下面这个172.17.0.4
哪里来要注意,因为用的侨接,他并不是你服务器地址,也不是直接在宿主机上ifconfig的那个docker0的地址,而是进入上述那个已经开启的nsqlookupd容器内部,执行的ifconfig的地址。如图
image.png
docker exec -it 4b5e2a838fe0 /bin/sh
ifconfig
2.开启一个节点
docker run -d --name nsqd -p 4150:4150 -p 4151:4151 nsqio/nsq /nsqd --broadcast-address=172.17.0.4 --lookupd-tcp-address=172.17.0.4:4160
3.开启admin查看UI
docker run -d --name nsqadmin -p 4171:4171 nsqio/nsq /nsqadmin --lookupd-http-address=172.17.0.4:4161
注意:
在mac中,上述那个地址为如图这个,其他都一样
image.png
注意,注意,注意
上述方法在各个系统都适用,但是会无法访问实际topic内部的消息,出现一个如下的错误,但是不影响使用
8AA24C43B48231134683F8A2808B7715.jpg
解决办法
// 在Linux上可以使用 --net = host,其他系统不支持--net,原因在这:https://docs.docker.com/network/host/
这样新的命令如下:
docker run -d --name lookupd --net=host nsqio/nsq /nsqlookupd
docker run -d --name nsqd --net=host nsqio/nsq /nsqd --broadcast-address=127.0.0.1 --lookupd-tcp-address=127.0.0.1:4160
docker run -d --name nsqadmin --net=host nsqio/nsq /nsqadmin --lookupd-http-address=127.0.0.1:4161
网友评论