No route to host或者Communications link failure问题解决。

首先我的项目是springboot,采用docker部署至云服务器中。开启项目容器成功,然后运行项目容器中的接口报标题错误。

第一步,如果是传统的项目如SSM,正常配置好阿里的数据库连接池参数上传至服务器。最多就是开启阿里的防火墙+本地防火墙+bind-address修改问题,然后基本上navicat就可以连接上了。

第二步,springboot项目的连接参数配置(db是docker run 后面的 --link 后的原容器的昵称;root是云服务器中mysql grant 命令分配的网段账号 ;xuruiai11是对应的密码)。网上资料有说root是云服务器登录mysql容器默认的账号,然后在docker

 run 中 通过-e MYSQL_ROOT_PASSWORD=xxx 初始化root登录参数。用于服务器端访问控制。windows端客户访问就不能在用root参数,,,,(因为我手动删掉了user=root ,host =localhost)存疑放置于此。

第三,Communications link failure容易让人将这个问题的原因分析产生偏解,我也一直围绕着mysql连接不上的原因绕了半天,从idea中pom的docker配置到application.yml参数配置,再到maven package在docker中生成images,再到分析docker logs mysql,docker logs 项目。一直离不开errorCode 0, state 08S01 这个错误码。烦了很久后发现不仅仅是关于mysql的接口运行不起来,而且一些文件上传的接口也报错了“ No route to host”,这就很有意思。显然两者互不相干,但却都有No route to host 的错误。

那就直接先解决共性的问题:参考https://blog.csdn.net/iouczp/article/details/80300500

如果执行完还没效果:参考https://blog.csdn.net/silenceyobbo/article/details/104020246

在rule中添加docker网桥ip段

 

 

果然,先解决了这个问题后,errorCode 0, state 08S01 错误码也就不见了。虽然还有些其他的问题。但是毕竟其他的都是些小问题。特此记录下解决此问题的一个思路:针对报错要全面的考量,不能只取一部分作为分析问题的对象

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值