返回首页 > 【笔记】Spring Cloud Alibaba Nacos
场景:
spring boot 服务运行docker容器中
nacos 注册中心
问题:
Nacos服务注册ip为内网ip,导致Fegin无法根据服务名访问
解决方案:
方案一:设置参数: --network=host
docker run -d --network=host --name app-demo registry.cn-hangzhou.aliyuncs.com/zhengqing/app-demo
使用--network=host 主机网络模式,无需-p 80:80 ,容器运行时将会使用宿主机的网络信息,即会拿到宿主机的ip注册到nacos上; 这个时候我们无需-p 80:80指定服务端口运行,因为--network=host模式会使用服务本身启用的端口。
方案二: nacos指定注册ip 修改 application.yml (推荐)
配置 application.yml
spring:
cloud:
nacos:
discovery:
ip: xx
port: xx #如果设置的server:port 这里可以不填