Docker镜像失踪案:自我救赎指南
😉报错大全
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玩家的自我修养》"
评论
其他文章