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

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

相关推荐
FG.3 分钟前
Day22
java·面试
菜鸟的迷茫5 分钟前
Redis 缓存雪崩、穿透、击穿面试题深度解析与 Spring Boot 实战代码示例
java
珹洺16 分钟前
C++算法竞赛篇:DevC++ 如何进行debug调试
java·c++·算法
SHUIPING_YANG24 分钟前
根据用户id自动切换表查询
java·服务器·数据库
爱吃烤鸡翅的酸菜鱼36 分钟前
IDEA高效开发:Database Navigator插件安装与核心使用指南
java·开发语言·数据库·编辑器·intellij-idea·database
惊涛骇浪、42 分钟前
SpringMVC + Tomcat10
java·tomcat·springmvc
墨染点香1 小时前
LeetCode Hot100【6. Z 字形变换】
java·算法·leetcode
小刘|1 小时前
腾讯云服务上下载docker以及使用Rabbitmq的流程
docker·rabbitmq·腾讯云
云途行者1 小时前
使用 docker 安装 openldap
运维·docker·容器
ldj20201 小时前
SpringBoot为什么使用new RuntimeException() 来获取调用栈?
java·spring boot·后端