云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

DockerHub无法拉取镜像了怎么办? docker load之后,镜像不见了

jxf315 2024-12-15 14:02:40 教程文章 57 ℃

快速构建企业级AIGC项目

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

  • 网站文档:http://langchat.cn/
  • 后台地址:http://backend.langchat.cn/
  • 前台地址:http://front.langchat.cn/
  • LangChat源码:https://github.com/tycoding/langchat
  • LangChat.cn源码:https://github.com/tycoding/langchat.cn

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


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

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

<!-- more -->

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前缀):

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

阿里云自建仓库

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

阿里云申请

进入 https://cr.console.aliyun.com/cn-hangzhou/instances 创建个人容器实例:

然后创建命名空间,这里可以选择公开仓库,这样别人就可以通过地址拉取镜像(如果是私有的则需要先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

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

联系

  • 博客: https://tycoding.cn
  • Github: https://github.com/tycoding
  • 邮箱: langchat@outlook.com
最近发表
标签列表