docker 容器 ip 问题?

我用 docker 启动了一个容器,通过 docker inspect 查看到了容器的 ip, 我通过这个 ip 访问容器的服务拒绝访问。当我使用 127.0.0.1 就可以正常访问这是怎么回事?

我启动的是 nsq

# 启动 nsqlookup
docker run --name lookupd -p 4160:4160 -p 4161:4161 nsqio/nsq  /nsqlookup

docker inspect 查看到 ip 是 172.17.0.2

# 启动 nsqd
docker run --name nsqd -p 4150:4150 -p 4151:4151   nsqio/nsq  /nsqd  --lookupd-tcp-address=172.17.0.2:4160

docker inspect 查看到 nsqd ip 是 172.17.0.3

使用 http api 发送消息

# 发送成功
$ curl -d 'hello world 1' 'http://127.0.0.1:4151/pub?topic=test'

# 发送失败
$ curl -d 'hello world 2' 'http://172.17.0.3:4151/pub?topic=test'

为什么使用容器的 ip 不可以发送?

阅读 2.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题