一、场景&问题
使用docker直接部署go-zero微服务会发现API无法找到RPC服务
1、API无法发现RPC服务
用docker直接部署
我们会发现API无法注册发现RPC服务
原因是我们缺少了docker的network网桥
2、系统内查看
- RPC服务运行正常
- API服务启动,通过docker logs 查看日志还是未发现RPC
- API的yaml配置 RPC服务的IP是
127.0.0.1
与对应的端口
下图为改成了定义docker network 子网掩码的IP,没用到正确分配的IP还是报错
3、发现问题
API发现RPC使用docker就不能像二进制启动那样直接使用127.0.0.1
就可以
这里我们需要借助docker 的network
二、解决方法
因为docker之间是隔离的,无法通过127.0.0.1
可以参考一下docker网络方面的知识
文章一:子网掩码与IPV4