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

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

相关推荐
paopaokaka_luck6 分钟前
基于Spring Boot+Vue的多媒体素材管理系统的设计与实现
java·数据库·vue.js·spring boot·后端·算法
微刻时光9 分钟前
Docker部署Nginx
运维·nginx·docker·容器·经验
guoruijun_2012_413 分钟前
fastadmin多个表crud连表操作步骤
android·java·开发语言
Hello-Brand24 分钟前
Java核心知识体系10-线程管理
java·高并发·多线程·并发·多线程模型·线程管理
乐悠小码30 分钟前
数据结构------队列(Java语言描述)
java·开发语言·数据结构·链表·队列
史努比.31 分钟前
Pod控制器
java·开发语言
陈小肚32 分钟前
k8s 1.28.2 集群部署 docker registry 接入 MinIO 存储
docker·容器·kubernetes
2的n次方_34 分钟前
二维费用背包问题
java·算法·动态规划
皮皮林55134 分钟前
警惕!List.of() vs Arrays.asList():这些隐藏差异可能让你的代码崩溃!
java
莳光.35 分钟前
122、java的LambdaQueryWapper的条件拼接实现数据sql中and (column1 =1 or column1 is null)
java·mybatis