原来部署docker的时候都是使用ip+端口访问,后面部署了lucky之后就改用域名了,一直都正常,后面有一天突然发现有些docker无法访问外网了,才发现有问题。
现象:用lucky的反向代理,可以正常打开docker服务。但是在局域网用ip+端口访问会超时。另外,只有使用bridge模式的docker受到影响,使用host的正常使用。受影响的docker不仅无法通过ip+端口访问,它本身也无法访问公网,所以本身的刮削,爬虫功能都失效。
解决方案:宿主机的ip端口转发功能被关闭。手动打开即可恢复。但是后面还有可能会恢复关闭。
使用putty远程登录绿联云,执行下面命令
cat /proc/sys/net/ipv4/ip_forward如果返回结果是1,就是正常,我这边结果是0,就是端口转发处于关闭状态,需要改成1。
先执行下面的命令备份原来的文件
sudo cp /etc/sysctl.conf /etc/sysctl.conf.backup再执行下面的命令,将ip_forward打开
echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf最后执行下面的命令,重新加载服务
sudo sysctl -p这个故障原来以为是绿联云更新导致的,但是后面发现是某魔法代理docker导致的,后面卸载了该docker,故障就不再出现。