问题场景
操作系统为 ubuntu 19.10 桌面版
docker 中需要连接 宿主机的mysql ,地址为
172.17.0.1 3306(地址没有问题)
但是一直连接超时,并且报 没有受到任何数据包的提示。
问题原因
** ubuntu 防火墙没有打开**
解决办法
- 打开 ubuntu 的防火墙
wml@GGG:~/$ iptables -A INPUT -p tcp -i docker0 --dport 3306 -j ACCEPT
注意:
需要指定 网卡 -i docker0, 因为启动docker 后,会虚拟出一块新的网卡, docker 通过这块虚拟网卡连接 宿主机。
相应的,docker 访问访问宿主机,也需要通过该虚拟网卡对应的网段。
在 linux 下面,这个网段是 172.17.0.1