基于Spring cloud的微服务应用部署到docker中,通过ribbon/zuul不能访问?

在本地调试spring cloud微服务应用,应用可以注册到eureka上,应用可以通过ribbon或者zuul访问。并且在eureka上可以看到应用所对应的ip地址。

当部署到docker后,eureka不能读取应用所在ip地址,并且通过ribbon/zuul等也不能访问应用,报错如下,想请问怎么办?

I/O error on GET request for "http://API-ADMIN/microservice/1": 280d0f4200d8; nested exception is java.net.UnknownHostException: 280d0f4200d8

已在应用中配置ip地址,但是在docker环境中不可以,毕竟docker是独立的环境

eureka:
  instance:
    prefer-ip-address: true
阅读 5k
1 个回答

原因:

分布在三台机器的docker镜像,它们的ip分别是镜像中的ip,故是不能互相想问。

解决方法:

利用Docker Swarm,配置网络。以下链接是一个具体方法。

http://blog.csdn.net/alaska_b...

当然,也可以用K8s等工具解决。但是其本质问题是网络不通造成的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题