news 2026/7/14 23:00:25

Colima 下 docker pull 失败自查流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Colima 下 docker pull 失败自查流程

macOS + Colima 下docker pull超时问题排查总结

一、问题现象

在 macOS 上使用colima运行 Docker service 时,执行:

docker pull BALABALA

报错:

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)

二、核心结论(先给答案)

Docker daemon 无法直连 Docker Hub,必须通过代理访问,但 daemon 并没有正确使用代理配置

shell / curl 能走代理 ≠ Docker daemon 会走代理
必须通过systemd给 Docker daemon 显式配置代理。


三、完整排查思路

1️⃣ 确认是否是网络问题,而非镜像本身

docker pull hello-world
  • 同样超时 → 不是镜像名问题,而是 Docker 出网问题

2️⃣ 进入 Colima VM,直接测试网络

colimassh
DNS 测试(正常)
getent hosts registry-1.docker.io# 也可以 nslookup

→ 能解析到 IP,说明DNS 正常

HTTPS 连通性测试(关键)
curl-Iv https://registry-1.docker.io/v2/

输出显示:

Uses proxy env variable https_proxy == 'http://PROXY_INFO_HERE' CONNECT registry-1.docker.io:443

→ curl 在通过代理访问 Docker Hub


3️⃣ 判断:是否“必须走代理”

清空所有代理变量,强制直连:

env-u https_proxy -u http_proxy -u all_proxy -u no_proxy\-u HTTPS_PROXY -u HTTP_PROXY -u ALL_PROXY -u NO_PROXY\curl-Iv https://registry-1.docker.io/v2/ --max-time15

结果:

Connection timed out

✅ 结论明确:

直连 Docker Hub 会超时,必须通过代理访问


4️⃣ 问题根因定位

查看 VM 内环境变量:

env|egrep-i"https?_proxy|all_proxy|no_proxy"
HTTPS_PROXY=http://HERE https_proxy=http://ARE http_proxy=http://MY HTTP_PROXY=http://PROXY

➡️Shell / curl 有代理

⚠️但 Docker daemon 并不会自动继承这些环境变量


四、最终解决方案(关键步骤)

✅ 通过 systemd 给 Docker daemon 固化代理配置

colimasshsudomkdir-p /etc/systemd/system/docker.service.d

创建代理配置:

sudotee/etc/systemd/system/docker.service.d/proxy.conf>/dev/null<<'EOF' [Service] Environment="HTTP_PROXY=http://PROXY" Environment="HTTPS_PROXY=http://HERE" Environment="NO_PROXY=localhost,127.0.0.1" EOF

让 systemd 重新加载并重启 Docker:

sudosystemctl daemon-reloadsudosystemctl restart dockerexit

✅ 验证配置是否生效

colimassh-- systemctl show docker -p Environment

确认能看到:

Environment=HTTP_PROXY=... HTTPS_PROXY=...

✅ 最终验证

docker pull sean908/THE_IMAGE_YOU_NEED

🎉拉取成功,问题解决


五、关键经验总结(非常重要)

1️⃣ macOS 上的代理 ≠ Colima VM 的代理

2️⃣ Shell 的代理 ≠ Docker daemon 的代理

3️⃣ Docker daemon 必须用 systemd 显式配置代理

4️⃣ 排查顺序永远是:

DNS → 直连 → 代理 → daemon 是否真正使用代理


六、TL;DR

在 Colima / Lima / Linux VM 中,docker pull超时,90% 是 Docker daemon 没正确走代理;curl 能通不代表 docker 能通。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 17:12:54

【打靶日记】VulNyx 之 Listen

主机发现 ┌──(root㉿xhh)-[~/Desktop/xhh/VluNyx/listen] └─# arp-scan -I eth1 -l192.168.56.151 08:00:27:1b:16:5c PCS Systemtechnik GmbH主机地址为 端口扫描 ┌──(root㉿xhh)-[~/Desktop/xhh/VluNyx/listen] └─# nmap -p- 192.168.56.151 …

作者头像 李华
网站建设 2026/7/14 10:29:42

无人驾驶车辆轨迹跟踪与模型预测控制第二版配套程序整理分享

无人驾驶车辆轨迹跟踪与模型预测控制第二版书中配套程序整理&#xff0c;包括MATLAB simulink模型与Carsim par文件。 一共从第二章到第八章。 已经完全适配Carsim2019与MATLAB2018a以上版本&#xff0c;最好为MATLAB2021a。 包括相关的电子资料。 非常适合学习模型预测控制&am…

作者头像 李华
网站建设 2026/7/14 21:28:02

Cadence 1.8V LDO电路设计:从带隙基准到完整实现

cadance 1.8v LDO电路 cadance virtuoso 设计 模拟电路设计 LDO带隙基准电路设计 带设计报告&#xff08;14页word&#xff09; 基于tsmc18工艺 模拟ic设计 bandgapLDO 1.8v LDO电路 包含工程文件和报告 可以直接打开最近在模拟IC设计的领域里摸爬滚打&#xff0c;深入研究了基…

作者头像 李华
网站建设 2026/7/14 12:30:30

Realme Narzo 90系列印度发布:配备7000mAh电池与50MP摄像头,售价公布

Realme Narzo 90系列印度发布&#xff1a;配备7000mAh电池与50MP摄像头&#xff0c;售价公布 Realme扩充中端产品线 Realme在印度发布了Narzo 90系列&#xff0c;通过Realme Narzo 90 5G和Narzo 90x 5G扩充其中端智能手机阵容。两款机型均配备7000mAh大电池&#xff0c;支持60W…

作者头像 李华
网站建设 2026/7/14 6:25:10

硬核优化5连击,性能暴涨300%!附开箱即用模板,小白也能秒上手!

文为CUDA并行规约系列文章的下篇&#xff0c;本文介绍了5种并行规约算法的实现&#xff0c;并从硬件的角度对它们进行分析和优化&#xff0c;最终给出一个开箱即用的模板代码及其使用示例。勘误首先是一个勘误&#xff0c;在上篇中存在一个拼写错误&#xff0c;线程束的正确单词…

作者头像 李华
网站建设 2026/7/13 16:41:20

GitLab讲解

目录一、GitLab概念二、GitLab安装三、GitLab汉化四、Gitlab使用1、登录基本操作2、使用方法一、GitLab概念 GitLab 是一个用于仓库管理系统的开源项目&#xff0c;使用Git作为代码管理工具&#xff0c;并在此基础上搭建起来的web服务。可通过Web界面进行访问公开的或者私人项…

作者头像 李华