修复docker pull image failed
修复docker pull image failed
docker pull报错
message":"Get https://n6-026-137.byted.org/v1/_ping: Not Found"},"error":"Get https://n6-026-137.byted.org/v1/_ping: Not Found
排查
打开docker的调试开关,给dockerd的启动参数中加入-D参数:
vi /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -D -H unix:///var/run/docker.sock -g="/opt/docker"
dockerd 的日志(docker pull/push的日志)会记录到/var/log/daemon.log中,再次触发错误之后,在daemon.log中没有找到更多有用的信息:
Dec 1 17:12:13 n6-026-137 dockerd[138149]: time="2016-12-01T17:12:13.537485265+08:00" level=error msg="Attempting next endpoint for push after error: Get https://sandbox.hub.byted.org/v1/_ping: Not Found"
因为这个是测试服务器,dockerd上通过的信息并不多,直接strace docker的进程,找到出错的原因:
ERR_DNS_FAIL
strace -ff -s256 -p 138149 2>&1 |awk '{print $0}' > a.out
[pid 191579] <... read resumed> "HTTP/1.0 404 Not Found\r\nServer: squid/3.1.20\r\nMime-Version: 1.0\r\nDate: Thu, 01 Dec
2016 09:14:36 GMT\r\nContent-Type: text/html\r\nContent-Length: 3281\r\nX-Squid-Error: ERR_DNS_FAIL 0\r\nVary: Accept-Lang
uage\r\nContent-Language: en\r\n\r\n<!DOCTYPE html PUBLIC \"-//W3C"..., 4096) = 3508
原因
因为golang有自己的 pure go resolver 实现,该版本实现有以下特点:
- 默认情况下会直接查询 DNS 服务器, 不会使用本机 nscd DNS缓存;
- 它会拒绝DNS回复内容超过512bytes的回报;
通过设置环境变量 GODEBUG=netdns=cgo 启动,在运行时强制使用系统 resolver,可以提高DNS响应速度,减少DNS服务器压力,不会拒绝大于512bytes的回报;
修改
添加一下环境变量后,重启go服务(dockerd服务):
GODEBUG=netdns=cgo
ref
https://github.com/docker/docker/issues/18842
修复docker pull image failed的更多相关文章
- docker pull报错failed to register layer: Error processing tar file(exit status 1): open permission denied
近来在一个云主机上操作docker pull,报错如下: failed to register layer: Error processing ): open /etc/init.d/hwclock. ...
- docker pull 时报错Create more free space in thin pool or use dm.min_free_space option to change behavior
docker pull 时报错: failed to register layer: devmapper: Thin Pool has 107394 free data blocks which is ...
- 透过proxy进行docker pull(Centos6.8)
由于必须通过proxy代理上网. 使用docker pull时一直出现如下错误: [root@centoo65 ~]# sudo HTTP_PROXY=http://186.100.4.107:808 ...
- 怎么解决docker pull拉取镜像速度过慢的问题
在我们安装了docker之后,在利用docker pull下载镜像的时候,由于国内的源会出现的问题就是速度真的很慢,可以用龟速来形容,最痛苦的是当你耐心的等待几个小时之后,出现unexpected E ...
- docker pull 镜像报错
[root@localhost ~]# docker pull ningx Using default tag: latest Trying to pull repository docker.io/ ...
- Docker pull下来的镜像(2)
1.通过docker pull ubuntu:12.04 命令拉取镜像,ll发现当前目录并没有什么变化. 2.切换到docker目录 [root@iZwz9fedjw2xvy6fvxfnxgZ zxy ...
- CentOS7下 让Docker pull命令使用squid做http代理拉取目标镜像仓库的镜像
场景,如下图所示: 服务器B具有两个网卡,分别和服务器A和服务器C互通,这里想要在服务器C上借助服务器B作为桥梁,拉取镜像仓库服务器A上的镜像. 思路也很简单,在服务器上搭建HTTP代理服务,服务器C ...
- 解决: docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest
直接获取 rpm文件 wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.1 ...
- 1. docker 在 macOS 中的架构 2. 在macOS系统中,docker pull 下来的镜像存储在哪里?
docker 在 macOS 中的架构: 在macOS中,docker的实现跟在其它Linux系统中略有不同,在其它Linux系统中,操作系统本身就是docker容器的宿主机,docker镜像都是直接 ...
随机推荐
- 记得初学JS时候练个九九乘法表都写的要死要活
还记得当初刚接触JS时候,看到视频中老师写了个九九乘法表,觉得好神奇,可是自己在下面动手写了半天还是有各种问题,甚是懊恼啊.今又看到园子里有关于乘法表的博文,出于对过去的不舍与缅怀,遂重写一遍. &l ...
- android nfc中Ndef格式的读写
1. 在onCreate()中获取NfcAdapter对象: NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this); 2.在onNewI ...
- html5开发移动页面去掉点击出现的透明阴影----&&-----元素垂直居中
[摘要:做好的页里正在脚机端测试时,发明局部扫瞄器,tap后会涌现一个半通明的灰色配景,(被批...),起先认为是outline作祟,减上后发明出反映,末了发明是tap后的配景下明,要重设那个] ...
- 配置ADFS Outlook Client.
error:The authentication endpoint Username was not found on the configured Secure Token Service!1. ...
- xib加载的两种方式
•Xib文件的加载 Ø方法1 NSArray *objs = [[NSBundle mainBundle] loadNibNamed:@"AppView" owner:nil ...
- leftBarbuttonItem/rightBarButtonItem和leftBarbuttonItems/rightBarButtonItems相关问题
仿写项目的时候,出现了一个Bug:点击右边的"编辑","编辑"变为"完成",左侧出现"全选","删除" ...
- 关于yuv与rgb的互转
来自以下网址:http://stackoverflow.com/questions/9465815/rgb-to-yuv420-algorithm-efficiency #define CLIP(X) ...
- python :开关,开灯关灯
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- IO流知识点总结
IO流的使用:(Input OutPut) 输入输出流: 输入:将文件读到内存中 输出:将文件从内存输出到其他地方 IO技术的作用: 主要就是解决设备和设备之间的数据传输问题.比如: ...
- javascript高级程序设计第四章 变量、作用域和内存问题
变量包含两种,,基本类型和引用类型 基本类型是指一些简单的字段: 引用类型是☞由多个值构成的对象 引用类型的值是保存在内存中的对象,在javascript中是不允许直接访问内存中的位置; 函数的参数 ...