小编Ale*_*rov的帖子

如何获取在 docker 中运行的服务的真实客户端 IP

我的场景:我想让我的基于 docker 的服务知道从网络调用它们的 IP(我的应用程序的要求。)

我在云 VPS、debian jessie 和 docker 1.12.2 上运行。

nc在详细模式下使用打开端口8080

docker run --rm -p "8080:8080" centos bash -c "yum install -y nc && nc -vv -kl -p 8080"
Run Code Online (Sandbox Code Playgroud)

说,VPS 有域example.com,从我的另一台机器,假设有dead:::::beef我调用的 IP

nc example.com 8080
Run Code Online (Sandbox Code Playgroud)

服务器说:

Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Listening on :::8080
Ncat: Listening on 0.0.0.0:8080
Ncat: Connection from 172.17.0.1.
Ncat: Connection from 172.17.0.1:49799.
Run Code Online (Sandbox Code Playgroud)

172.17.0.1位于服务器的本地网络上,当然与我的客户端无关。实际上:

docker0   Link encap:Ethernet  HWaddr ....
          inet addr:172.17.0.1 …
Run Code Online (Sandbox Code Playgroud)

networking docker

13
推荐指数
1
解决办法
6182
查看次数

标签 统计

docker ×1

networking ×1