场景:
我制作了一个集成环境的镜像,并且上传到hub.docker上,但是发现不能拉去

执行命令:
bash
在执行 docker-compose up -d 或 docker pull
排查过程,也参考了豆包,gemini的回答
- 使用了加速器,怀疑没有从官方同步,但是过了几天还没有,暂时排除
- 服务器不能拉去海外资源,但是能拉去其他镜像,仅这个拉去不了
- 镜像太大超时了,修改了超时时间,拉去其他同等大小的,能正常拉去
修改
bash
vim /etc/docker/daemon.json
增加:
"max-concurrent-downloads": 10

- 本地拉取尝试,可以正常拉去,就是服务器上拉取不了
- 最后,在镜像的前边指定了反向代理,docker.1ms.run,拉去成功
解决:
镜像前添加方向代理:docker.1ms.run
源镜像:yxuefeiniao/bt-lnmp-eval-design:1.0
添加后:docker.1ms.run/yxuefeiniao/bt-lnmp-eval-design:1.0
原理
老牌镜像源:它们通常只缓存像 nginx、mysql 这种几百万人拉取的热门镜像。你 5 天前刚传的新镜像,它们根本没去同步,所以报 not found。
docker.1ms.run 这类代理源:它们不依赖本地缓存,而是收到你的请求后实时去官方拉取。只要 Docker Hub 上有,它就能帮你抓过来。