[size=medium]1.问题概述[/size]
最近在项目中遇到一个问题,因为业务要求,需要在服务中获取到客户端IP,但是在项目开发部署过程中发现利用[color=gray]java -jar ***.jar[/color]单独运行服务,或者打成镜像再[color=gray]docker run[/color]启动的服务都可以正确的获取到client IP,但是当采用[color=gray]docker stack deploy[/color]发布到docker swarm集群的时候,服务却获取不到正确的client IP了,得到的都是10.255.0.* 这样的IP,因为业务逻辑必须获取正确的client IP,所以有了下面的这个调查。
系统框架:spring boot、spring cloud、docker、docker swarm
spring boot version:1.5.1.RELEASE
spring cloud version:Dalston.SR4
docker环境:
最近在项目中遇到一个问题,因为业务要求,需要在服务中获取到客户端IP,但是在项目开发部署过程中发现利用[color=gray]java -jar ***.jar[/color]单独运行服务,或者打成镜像再[color=gray]docker run[/color]启动的服务都可以正确的获取到client IP,但是当采用[color=gray]docker stack deploy[/color]发布到docker swarm集群的时候,服务却获取不到正确的client IP了,得到的都是10.255.0.* 这样的IP,因为业务逻辑必须获取正确的client IP,所以有了下面的这个调查。
系统框架:spring boot、spring cloud、docker、docker swarm
spring boot version:1.5.1.RELEASE
spring cloud version:Dalston.SR4
docker环境:
Containers: 7
Running: 4
Paused: 0
Stopped: 3
Images: 31
Server Version: 1.13.1
Storage Driver: overlay
Backing Filesystem: extfs
Supports d_type: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Swarm: active