
原先服务是用的 Spring Cloud,
现在想用 docker 来包装一下 java 应用, 比如 eureka 可以 docker 来启动,
但是每次起 eureka 的 IP 是不固定的, 那么其他的业务服务,是怎么知道究竟 eureka 是哪个 IP ?
因为其他注册上去的服务,每次都要传个"spring.cloud.client.ipAddress",
这个比较难受,暂时没有想通该怎么弄。
还是说用了 docker 就只能用 docker 编排,而不能用 spring cloud 了? (这样代码改动量也太大了吧)
想用 Azure 的 docker 起容器实例,
1 lx0758 2020-03-10 20:35:10 +08:00 内部 DNS |
2 stefanaka 2020-03-10 20:52:58 +08:00 via Android swarm k8s 看你用什么编排吧 |
3 x66 2020-03-10 21:19:07 +08:00 eureka 都用 docker 了,client 不用吗?如果 clinet 也用了,那就应该让它们在同一个网络中,通过 hostname 来访问 |
4 xuanbg 2020-03-10 21:30:43 +08:00 容器可以用宿主机的 IP 访问啊,怎么 IP 不固定了? |
5 fuis 2020-03-10 21:34:02 +08:00 DNS |
6 chenshun00 2020-03-10 22:02:28 +08:00 service? hostName? |
7 Aresxue 2020-03-10 22:10:12 +08:00 一般编排工具都会提供代理的,比如所有 eureka 的 docker 应用都被一个 nginx 镜像服务代理(也可以是多个服务), 这个镜像服务一般都是可固定宿主机 ip 和端口的 |
8 zrc 2020-03-10 22:10:41 +08:00 DNS 或者把你 eureka 的端口绑定到宿主机的固定端口 |
9 dr1q65MfKFKHnJr6 2020-03-10 22:13:01 +08:00 之前的公司用的是 DNS 好像还有其它方式 |
10 zhxjdwh 2020-03-11 08:40:45 +08:00 via Android 我们在交换机上加静态路由,把容器网络跟 vm 网络打通 |
11 cheng6563 2020-03-11 09:34:22 +08:00 via Android 用主机网络吧,eureka 服务发现跟 docker 天然有点不合 |
12 lzk50136 2020-03-11 10:54:21 +08:00 docker-compose 可以固定 ip 的吧? |
13 jakehu 2020-03-11 12:47:56 +08:00 hostname |
14 jackzhu 2020-03-11 20:00:21 +08:00 rancher 界面配置不香么,域名绑定 |