在Nacos中让服务使用指定网段ip注册
问题描述 在nacos服务注册时,发现注册的服务全是容器虚拟IP,并不是可以通讯的内网IP。 问题原因 开启了user namespace,将系统用户映射到docker容器里,使其不再使用root权限。由于开启了user namespace,所以docker容器不能再共享net namespace即docker网络不能再使用host模式,只能用bridge模式。此时服务容器便有了一个虚拟ip,一般该ip在docker0的网段(默认为172)之下。所以服务注册时便使用这个ip进行注册。 解决方案 第一种(不推荐) 为服务设置IP,在服务的配置文件bootstrap.yml中,配置: spring: cloud: nacos: discovery: ip: 10.1.1.