如果 eureka 用 docker 来部署, IP 不固定, client 是通过什么来传递 spring.cloud.client.ipAddress?

2020-03-10 20:27:14 +08:00
 zealinux

原先服务是用的 Spring Cloud,

现在想用 docker 来包装一下 java 应用, 比如 eureka 可以 docker 来启动,

但是每次起 eureka 的 IP 是不固定的, 那么其他的业务服务,是怎么知道究竟 eureka 是哪个 IP ?

因为其他注册上去的服务,每次都要传个"spring.cloud.client.ipAddress",

这个比较难受,暂时没有想通该怎么弄。

还是说用了 docker 就只能用 docker 编排,而不能用 spring cloud 了? (这样代码改动量也太大了吧)


想用 Azure 的 docker 起容器实例,

4026 次点击
所在节点    Java
14 条回复
lx0758
2020-03-10 20:35:10 +08:00
内部 DNS
nieqibest
2020-03-10 20:52:58 +08:00
swarm k8s 看你用什么编排吧
x66
2020-03-10 21:19:07 +08:00
eureka 都用 docker 了,client 不用吗?如果 clinet 也用了,那就应该让它们在同一个网络中,通过 hostname 来访问
xuanbg
2020-03-10 21:30:43 +08:00
容器可以用宿主机的 IP 访问啊,怎么 IP 不固定了?
fuis
2020-03-10 21:34:02 +08:00
DNS
chenshun00
2020-03-10 22:02:28 +08:00
service? hostName?
Aresxue
2020-03-10 22:10:12 +08:00
一般编排工具都会提供代理的,比如所有 eureka 的 docker 应用都被一个 nginx 镜像服务代理(也可以是多个服务), 这个镜像服务一般都是可固定宿主机 ip 和端口的
zrc
2020-03-10 22:10:41 +08:00
DNS 或者把你 eureka 的端口绑定到宿主机的固定端口
cedoo22
2020-03-10 22:13:01 +08:00
之前的公司用的是 DNS
好像还有其它方式
zhxjdwh
2020-03-11 08:40:45 +08:00
我们在交换机上加静态路由,把容器网络跟 vm 网络打通
cheng6563
2020-03-11 09:34:22 +08:00
用主机网络吧,eureka 服务发现跟 docker 天然有点不合
lzk50136
2020-03-11 10:54:21 +08:00
docker-compose 可以固定 ip 的吧?
jakehu
2020-03-11 12:47:56 +08:00
hostname
jackzhu
2020-03-11 20:00:21 +08:00
rancher 界面配置不香么,域名绑定

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/651653

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX