😉报错大全

  • Error response from daemon: pull access denied → "Docker:你谁啊?我没你这样的朋友!"

  • manifest unknown → "镜像:我已不在江湖,但江湖还有我的传说"

  • net/http: TLS handshake timeout → "网络:我和镜像私奔了,你猜什么时候回来?"

😉解决场景

✅ 尝试过重启Docker服务、电脑、路由器、咖啡机
✅ 尝试对着屏幕说过“求求你了,最后一次”超过3次
✅ 尝试在知乎上复制粘贴了前3个答案
✅ 尝试准备好把锅甩给公司的运维小伙

😉核心矛盾

兔子:"请开门,我们要自由贸易"

鲸鱼​:"老佛爷,洋人又来拉我们的镜像啦!"

😉自我救赎

  • 一次锻炼科学上网能力的机会

  • 一段成为Dockerfile手工艺人的起点

  • 一场让你从此备份所有镜像到移动硬盘的觉悟

😉技术指南

两大邪道の终极奥义——白嫖与自力更生

方案一:白嫖流蹭隔壁老王的Wi-Fi(镜像代理大法)​

场景:大哥们,Docker Hub又挂了!借个镜像站救命

# 互联网共享精神respect(建议写到/etc/docker/daemon.json)
"registry-mirrors": [
  "https://docker.m.daocloud.io",
  "https://docker.kuku.me"
]

方案二:做一只囤粮过冬的松鼠(自建仓库の野望)

核心思想拉不到的镜像,我就自己造个仓库囤!

1.​科学上网下载镜像

# 开启魔法(假设你的科学工具clash在7890端口)
export all_proxy="socks5://127.0.0.1:7890"
docker pull 官方镜像  # 此时网络畅通如德芙

2.给镜像打标签,假装是自家产的

# 给镜像整容成私有仓库的格式
docker tag 官方镜像名称 你的仓库地址:端口/镜像名:版本
# 示例:把ubuntu变成自家产品
docker tag ubuntu:latest myregistry.com:5000/ubuntu:vvip

3.上传到自建仓库

简易版:用Docker自带的registry镜像

docker run -d -p 5000:5000 --name 我的仓库 registry:2
docker push myregistry.com:5000/ubuntu:vvip  # 从此镜像跟你姓!

土豪版:上Harbor搭建企业级仓库或是直接用上云厂商的容器镜像仓库

😉哲学の讨论

  • 白嫖流的风险:镜像站突然跑路(比如某Docker Hub镜像站变404),或是镜像被污染(想象下载的Redis里埋了比特币矿工)

  • 松鼠流的代价:需要硬盘空间(1TB起步)、维护成本("老板,我觉得我们需要招个仓库管理员")

结语

"记住:
白嫖虽好,但记得感恩;
自力更生,但小心硬盘被撑崩!
——《论一个Docker玩家的自我修养》"