记一次VMware NAT模式下navicat访问centos7 docker mysql 失败

转载请注明出处,原文地址:https://blog.csdn.net/qq_39309348/article/details/106935128

背景

使用vmware创建了centos7的虚拟机,然后安装了docker,之后在docker部署了mysql,由于不想mysql重启之后ip变化,于是自定义了network:chihoi-net,子网:192.168.0.0,网关:192.168.0.1。之后mysql的映射也是没问题的。

centos ip 192.168.132.4 centos ping mysql:192.168.0.200,ping通了 centos 和主机window:192.168.1.3 互通

到这里,按道理来说已经没有问题了,我只要在window下用navicat访问192.168.132.4:3306,就会映射到mysql。

但是发现,怎么样都没办法连接上去,mysql的远程连接权限也开启了。

解决过程

  • 因为平时使用的是桥接,那么第一时间当然是常试更换桥接模式看看有没有问题。

  • 后面发现桥接模式依旧不可以。

  • 于是我就不用自定义的network:chihoi-net了。

  • 改用默认的bride,发现没有问题,navicat成功了,NAT模式下依旧是可以

  • 那么问题就定位了,是自定义network出了问题,究竟是什么问题呢?网段?还是什么?

  • 于是我把自定义时候的网段改成了172.10,网关是172.10.0.1,navicat成功连上

  • 然后我又用了192.167.0.1,发现这个也没问题,那么,锁定问题,192.168这个网段不行。

 

结论

docker在创建自定义网络时,如果使用172.10的网段,会报错,网段已经被使用。 但是docker没办法检测centos使用的是哪个网段,所以当你使用192.168时,就和centos的冲突了,但是也不报错。

这时候,只要不使用192.168的网段就皆大欢喜了。

问题解决,告一段落

 

 

NAT模式下和桥接模式下的图

NAT

记一次VMware NAT模式下navicat访问centos7 docker mysql 失败

 

桥接记一次VMware NAT模式下navicat访问centos7 docker mysql 失败

 


喜欢的点个赞呗