出现can not connect to 172.18.0.1:8091 cause:can not register RM,err:can not connect to services-server.为什么会有172.18.0.1:8091,大概是由于使用docker容器启动的原因:

一:启动异常日志

2022-12-26 00:38:58.989 ERROR 23132 --- [eoutChecker_1_1] i.s.c.r.netty.NettyClientChannelManager  : 0101 can not connect to 172..2:8091 cause:can not register RM,err:can not connect to services-server.

二:问题排查

2.1:查看是哪里配置的有172相关的IP

Nacos配置的grouplist 键值 是否配置成容器内部ip,这里需要的IP是宿主机IP,否则和Nacos不在一个网络下访问不到

service.vgroupMapping.my_test_tx_group=default

service.default.grouplist=seata所属Ip:8091

2.2:查看Nacos注册的seata服务ip

下图的ip原本是172开头的容器ip,这里是我修改好之后的ip,即使我grouplist配置对了,还是不行

三:问题解决

运行seata容器时指定容器ip参数

docker run -d --name seata-server -p 8091:8091 -e SEATA_IP=宿主机IP seataio/seata-server:1.4.2