防火墙导致docker pull失败问题及解决
作者:IT杂人
因网络防火墙检测到镜像中的敏感文件(如passwd)导致docker pull卡顿或断连,解决方法包括调整防火墙策略或修改网卡MTU值以规避关键字过滤
现象
1、通过docker pull,在拉取某个层时,会一直卡住不动,最后超时失败
docker pull 10.115.24.177/commandcenter/smp/client:v3.4.01.d6a9658.luzhou-x86_64
2、通过单独拉取层时,提示"Recv failure:连接被对方重置"
# 获取层信息 curl -H "Authorization: Bearer" "http://192.168.31.5/v2/cmd/a/client/manifests/v3.1.01.1234567-x86_64" # 失败层的拉取测试,提示连接被对方重置 curl -H "Authorization: Bearer" "http://192.168.31.5/v2/cmd/a/client//blobs/sha256:fdawefaadsfda" > /dev/null
原因
网络防火墙策略,对传输中的文件,如果检测到有关键字,比如passwd时,会被强制中断传输
*docker镜像中有完整的操作系统,会存在敏感文件 *
解决
1、修改公司网络方面的防火墙策略
2、当时还有个比较有趣的解决方案,修改网卡的mtu值,能解决部分镜像的拉取问题
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。