SuperAPI AI 工具集

fix-orbstack-docker-pull

部署与运维

查看项目

更新于 10-15 22:12

技能介绍

用途:在 macOS 上排查 OrbStack 的 Docker 镜像拉取失败,重点处理 Docker Hub 的 EOF、TLS、manifest 错误,通常由系统代理或 Clash 类 fake-ip/TUN 路由引起。核心原则:在测试小体积公共镜像与守护进程代理路径之前,不要把 EOF 当作镜像缺失、私有或平台不兼容。

主要能力:提供只读诊断脚本,收集 docker version、docker info、orb version、orb config get network_proxy、~/.orbstack/config/docker.json、networksetup 代理设置、dscacheutil/dig 解析、netstat 路由、curl 探测与 docker pull hello-world 等事实。可判断正常响应(auth.docker.io 与 registry-1.docker.io 根路径返回 404、/v2/ 返回 401 带 Bearer 属正常)与可疑信号(hello-world 拉取报 EOF、显式 curl -x 成功而 Docker 失败、registry-1.docker.io 解析到 198.18.0.x 等)。

使用方式:先运行诊断脚本;确认问题普遍后,用 networksetup 找到实际代理端口,执行 orb config set network_proxy http://127.0.0.1:<port> 与 orb restart docker,再用 orb config get network_proxy 和 docker pull hello-world:latest 验证。若仍间歇 EOF 或大层卡住,可在 ~/.orbstack/config/docker.json 中保留原有设置并加入 {"max-concurrent-downloads": 1},然后 orb restart docker。中断的拉取可继续重试,用 docker system df 与 orb logs docker | tail -80 观察,避免随意 docker system prune 丢弃已下载分块。

适用场景:macOS + OrbStack + 系统代理或 Clash 类工具环境下的 Docker Hub 拉取故障。限制:代理端口需按实际系统代理填写,不要硬编码 7890;代理端口变化后需重新设置并重启 Docker;docker manifest inspect 可能因客户端路径失败而 docker pull 成功,应以实际拉取为准;大层长时间停顿可能正常,需先查日志与磁盘增长再判断。