Docker网络 - 为什么docker容器在127.0.0.1上响应?

时间:2016-06-11 19:35:09

标签: docker docker-networking

我启动了一个docker容器,其服务在端口9324上运行:

docker run -d -p 9324:9324 vsouza/sqs-local

我想这个容器会运行o bridge0网络。所以如果我运行:docker network inspect bridge,我可以看到这个容器在ip:"IPv4Address": "172.17.0.2/16"上。

该服务在ip:172.17.0.2:9324和127.0.0.1:9324都有响应。

为什么此服务在127.0.0.1上响应?

1 个答案:

答案 0 :(得分:2)

-p 9324:9324告诉docker在端口9324上的主机上的容器中发布9324端口。实际的机制是使用一些iptables规则在该端口上进行伪装和dnat(用于出站和入境流量分别)。这种情况经常发生,因为您并不总是知道每个容器的IP,并且可能已将防火墙规则配置为阻止直接访问容器(您不在环境中)。

相关问题