chester (@chuangshiji)docker内部应用访问宿主机mysql和redis时被拒绝connection refuse 中发帖

之前写过两篇docker踩坑日记 


Docker踩坑日记 - 不要没事总想着更新! 
今天继续记录一个实际例子 
一、连接地址切记不能用localhost和127.0.0.1
这些地址代表的都是容器内的系统,根本没有访问到宿主机,会一直报连接mysql/redis异常。 
二、用docker的虚拟网卡地址
在宿主机查询网卡情况------ifconfig 
docker0这块虚拟网卡的 inet 地址就是正确的本地ip(172.17.0.1) 
所以打包时,例如java打包时,要将配置文件中的ip改成172.17.0.1,这样就能保证容器内部可以访问到宿主机了 
三、关闭掉ubuntu防火墙
关掉是最简单粗暴的做法,另外可以使用iptables建立规则 
四、更改mysql,redis配置
一般mysql,redis都会绑定本地ip,如果做测试或内网可以将这个配置注释掉 
mysql...
 
 
Back to Top