[Service]
Environment=”http_proxy=http://A 内的ip地址:上面nginx监听的地址(这里是8081″
备注:脚本里,还添加了https-proxy.conf配置,可以借各位参考一下。这里只要配置了这个就可以了
重启docker即可
试试拉取镜像,就会开心的发现可以使用了
四、总结
1理清楚整个流程。
2排查过失时:可以同时打开docker日志和nginx日志。
如果只是docker中产生日志,说明并没有映射到nginx上,需要在内网机器中自身找错误;
如果docker和nginx中同时发生日志,但是还是不能拉取镜像,说明还是内网机器本机有问题。自己就碰见此现象,这时nginx中产生的日志还是16进制的只能看懂最后的400数字。而在docker里面的报错是这样的
Errorresponsfromdaemon:Get https://registry-1.docker.io/v2/:proxyconnecttcp:tls:oversrecordreceivwithlength20527
两种猜测:1经排查是内网机器中配了DNS将请求解析成16进制了导致nginx代理不出去。报的返回的数据条数过多。
2上面/etc/profil配置文件中采用的变量名,一开始采用的大写的HTTP_PROXY这种模式,也有可能是大写的代理出错。
3老规矩,偷个懒,留给各位去做情景重现。
3不要慌,晚上做就行,晚上脑袋清醒。哈哈。
五、此过程中解决的过失
只记录了局部。根据以上教程,这些问题都将得到解决。
下面这个报错基本就是网络的问题,可以尝试这样解决:
1给docker配置加速,阿里云加速、daodock加速都可以
2网关的问题。遇见的就是网关的问题,早上10点以前只有偶尔的几次可以拉取成功,十点之后,胜利率基本达到百分之90尝试过的网关有8.8.8.88.8.4.4机房管理员告诉的联通机房网关,胜利率在测试后都不高,最后采用了114.114.114.114这个网关。目前速度还可以。
[root@localhostcompletions]#dockerpullbusybox
Usingdefaulttag:latest
Errorresponsfromdaemon:Gethttps://registry-1.docker.io/v2/:dialtcp:lookupregistry-1.docker.ioon[::1]:53:readudp[::1]:36261->[::1]:53:read:connectrefused
貌似主要就是这些问题,其余问题还算好解决。
原文链接:https://007.gangguana.com/a/a3a3ca03fb3b9cdb52206bbbd6959e60.shtml