DockerHub无法拉取镜像怎么办

快速构建企业级AIGC项目

LangChat是Java生态下企业级AIGC项目解决方案,在RBAC权限体系的基础上,集成AIGC大模型功能,帮助企业快速定制知识库、企业机器人。

个人最新的AIGC LLM大模型项目,欢迎大家Star fork关注


众所周知,由于一些不可抗力,导致Docker Hub需要梯子访问才可以拉取镜像,可能对于我们本地而言,我们可以通过搭建🪜来解决;

但是在云端,🪜就无能为力了,导致我们一些基础的镜像都无法拉取了。我这里提供几种我自己的解决方案:

Docker Hub代理

首先我推荐一种简洁的方式,只需要在原始的镜像拉取命令前面增加

复制代码
docker.m.daocloud.io/

例如原始拉取命令:

复制代码
docker pull pgvector/pgvector:0.7.2-pg16

修改为:

复制代码
docker pull docker.m.daocloud.io/pgvector/pgvector:0.7.2-pg16

拉取的结果如下(注意拉取后的镜像名称可同样会有docker.m.xxx前缀):

注意: 这是一个公开的镜像加速服务,目前我试用起来是比较稳定的。

阿里云自建仓库

相对来说这种方式会比较繁琐一些,但是对于我们构建自己的镜像,或者定制化官方镜像都是非常有效的,无论是拉取还是提交速度都非常快。

阿里云申请

进入 阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台 创建个人容器实例:

然后创建命名空间,这里可以选择公开仓库,这样别人就可以通过地址拉取镜像(如果是私有的则需要先docker login再拉取)

创建之后就可以自由上传镜像了,本地需要先登录再执行上传操作,文档看这里:

Pull

注意: 作者使用ARM芯片,因此对于支持多平台的Docker镜像,当执行docker pull时候会自动拉取当前操作系统匹配的镜像,例如如果你想在ARM机器上拉取AMD芯片的镜像,可以增加 docker pull --platform linux/amd64 [镜像名]

复制代码
➜  ~ docker pull --platform linux/amd64 pgvector/pgvector:0.7.2-pg16
0.7.2-pg16: Pulling from pgvector/pgvector
09f376ebb190: Pull complete
119215dfb3e3: Pull complete
e02bbc8c8252: Pull complete
061f31803c55: Pull complete
accd4903f49a: Pull complete
2016ff8e6e3a: Pull complete
088e651df7e9: Pull complete
ed155773e5e0: Pull complete
ffebb35d2904: Pull complete
293f0bec643a: Pull complete
1655a257a5b5: Pull complete
4ddba458499d: Pull complete
90e48ae03559: Pull complete
822c1a513e6a: Pull complete
51355bce442f: Pull complete
cd5573a9037c: Pull complete
Digest: sha256:95732f8f93a33bcd427b8e0e8f9d8ceedb5256a6fe5f2b58a4cd78e943c7e30e
Status: Downloaded newer image for pgvector/pgvector:0.7.2-pg16
docker.io/pgvector/pgvector:0.7.2-pg16
​
What's Next?
  1. Sign in to your Docker account → docker login
  2. View a summary of image vulnerabilities and recommendations → docker scout quickview linux/amd64

这样就完成在ARM系统上拉取AMD系统镜像

Push

拉取了官方镜像后,需要标记tag后才能推送到私有仓库:

复制代码
➜  ~ docker tag ab8dfd51cedf registry.cn-beijing.aliyuncs.com/[命名空间]/pgvector

至此,如果此命名空间公开后,可以再任意服务器拉取这个镜像了。

相关推荐
念何架构之路2 分钟前
moby-BuildKit(builder-next)
学习·docker·容器
风曦Kisaki5 分钟前
Kubernetes(K8s)笔记Day04:控制器(ReplicaSet 与Deployment),滚动更新及回滚,滚动更新策略,Pod 的 DNS 策略
linux·运维·笔记·docker·容器·kubernetes
爱码少年15 分钟前
此docker compose非彼docker-compose
docker
SamDeepThinking19 分钟前
现场重构一段代码,展示什么叫「好代码,都在表达自己的意图」
java·后端·程序员
January丶26 分钟前
docker-compose部署RabbitMQ(含管理页面)
docker
January丶30 分钟前
docker-compose部署ElasticSearch集群
docker
小园子的小菜35 分钟前
Java 并发四大工具类深度解析:CountDownLatch、CyclicBarrier、Semaphore、Exchanger 原理、源码与面试考点
java·开发语言·面试
搭贝低代码37 分钟前
设备管理系统迁移改造:从手工台账到二维码数字化的实践路径
java·低代码·搭贝
前端双越老师39 分钟前
Nest.js 和 Spring Boot 为何如此像?写给前端转 Java 的同学
java·spring boot·全栈
武子康41 分钟前
OpenAI Tibo:同样的 Rate Card,为什么更强的 Sol 反而更快耗尽 Codex 限额
人工智能·chatgpt·openai