docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled

sudo docker run hello-world

docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.

修改docker镜像源:

docker默认的源为国外官方源,下载速度较慢,可改为国内,加速

方案一

修改或新增 /etc/docker/daemon.json

# vi /etc/docker/daemon.json

{

"registry-mirrors": ["http://hub-mirror.c.163.com"]

}
systemctl restart docker.service

方案二

修改或新增 /etc/sysconfig/docker,在OPTIONS变量后追加参数  --registry-mirror=https://docker.mirrors.ustc.edu.cn

# vi /etc/sysconfig/docker

OPTIONS='--selinux-enabled --log-driver=journald --registry-mirror=https://docker.mirrors.ustc.edu.cn'

Docker国内源说明:

Docker 官方中国区

https://registry.docker-cn.com

网易

http://hub-mirror.c.163.com

中国科技大学

https://docker.mirrors.ustc.edu.cn

阿里云

https://pee6w651.mirror.aliyuncs.com

最终我用下面的方案解决了:

进入/etc/docker

查看有没有 daemon.json。这是docker默认的配置文件。

如果没有新建,如果有,则修改。

[root@zengmg docker]# vi daemon.json
{
  "registry-mirrors": ["https://registry.docker-cn.com",“http://hub-mirror.c.163.com"]
}

保存退出。


重启docker服务

service docker restart

成功!
--------------------- 
版权声明:本文为CSDN博主「那记忆微凉」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/BigData_Mining/article/details/87869147

### Docker 登录时因网络超时导致的错误解决方案 当执行 `docker login` 命令时,如果遇到类似于“net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)”的错误提示,这通常表明客户端在网络连接过程中发生了超时[^1]。以下是可能的原因以及对应的解决方法: #### 可能原因分析 1. **本地 DNS 配置问题** 如果系统的 DNS 设置不正确或者解析速度过慢,则可能导致 Docker 客户端无法及时完成域名解析操作,从而引发请求被取消的情况。 2. **代理设置冲突** 当存在 HTTP/HTTPS 代理配置但未适配 Docker 的需求时,也可能造成类似的通信中断现象[^2]。 3. **目标服务器负载过高或不可达** 若远程仓库所在的主机由于维护或其他技术因素暂时不可访问,同样会触发此类异常行为。 #### 解决方案详解 ##### 方法一:调整系统中的 DNS 参数 通过更改默认使用的公共 DNS 或者指定更可靠的选项来改善名称查询效率。具体步骤如下所示: 对于 Linux 平台而言, 编辑 `/etc/docker/daemon.json` 文件并加入以下内容: ```json { "dns": ["8.8.8.8", "8.8.4.4"] } ``` 之后重启服务使改动生效即可。 此方式能够有效规避部分由不良质量的服务商引起的延迟状况。 ##### 方法二:优化时间参数设定 虽然官方文档并未明确提及针对单一命令增加等待时限的具体做法,不过可以通过全局环境变量的形式间接实现延长整体流程的目的。例如,在 shell 中预先定义 DOCKER_CLIENT_TIMEOUT 和 COMPOSE_HTTP_TIMEOUT 这样的键值对之前再调用关联功能模块可能会有所帮助。 另外值得注意的是,某些特殊场景下适当减少 MTU 数值也有助于缓解上述难题的发生几率。 ##### 方法三:验证镜像源地址可用性 确认当前所依赖的基础架构层面上不存在任何物理链路层面障碍物阻挡正常数据交换过程顺利开展下去至关重要。可以尝试切换至备用站点继续测试直至找到稳定版本为止。 最后提醒各位开发者朋友务必保持软件处于最新状态以便享受持续改进带来的便利之处! ```bash sudo systemctl restart docker export DOCKER_CLIENT_TIMEOUT=120 export COMPOSE_HTTP_TIMEOUT=120 docker login ``` 以上脚本片段展示了如何重新启动守护进程以及扩展相应的响应周期长度单位设为秒级表示形式。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值