我们平时因为部署服务器会用到docker服务,而启动docker容器后会出现无法与本机或者其他服务器的mysql、redis、mongo进行连接。主要原因有如下两种:
1. 需要关闭防火墙:
CentOS7查看和关闭防火墙
查看防火墙状态
firewall-cmd --state
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service
iptables -F
执行完如上操作,再次连接,就会出现能连接情况,防火墙的原因导致。
2. docker容器启动后也会拥有一个默认ip。
docker在启动成功后会有一个自己的ip,这个ip和本机的ip不是同一个ip,所以在写代码的时候,一定要注意localhost、127.0.0.1这样的命名,最好写一个指定的ip。为了安全起见,小编推荐使用内网ip,这样也会避免来自外网的网络攻击行为。