Docker error: HTTP 408 response body: invalid character '<' looking for beginning of value

求知探索 1年前 ⋅ 8377 阅读

解决方法一、Docker配置国内源
配置docker的registry-mirror

sed -i "s|ExecStart=/usr/bin/dockerd|ExecStart=/usr/bin/dockerd --registry-mirror=https://registry.docker-cn.com/|g" /lib/systemd/system/docker.service
systemctl daemon-reload
systemctl restart docker
#或者可以使用腾讯云地址:https:mirror.ccs.tencentyun.com

验证

docker info 

确认Registry Mirrors的地址已经修改成功:

 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://registry.docker-cn.com/
 Live Restore Enabled: false

ERROR: 使用docker pull 语句,执行中报错:HTTP 408

docker: error pulling image configuration: error parsing HTTP 408 response body: invalid character '<' looking for beginning of value: "<html><body><h1>408 Request Time-out</h1>\nYour browser didn't send a complete request in time.\n</body></html>\n\n".

此时需要修改当前网卡的MTU为900

#临时修改:  
ifconfig eth0 mtu 900
#永久修改(尝试设置,但是失败了...):  
#vi /etc/network/interfaces
#【在最后增加内容: mtu 900 】...
【然后重启网卡】
/etc/init.d/networking restart

 

解决方法二、 安装加速器

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io  

 

解决方法三、添加国内镜像站

执行命令

$ systemctl cat docker | grep '\-\-registry\-mirror'
如果该命令有输出,那么请执行 $ systemctl cat docker 查看 ExecStart= 出现的位置,修改对应的文件内容去掉 --registry-mirror 参数及其值,并按接下来的步骤进行配置。
如果以上命令没有任何输出,那么就可以在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}
注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。
之后重新启动服务。
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

全部评论: 0

    我有话说: