群晖上Docker下载的几种方式

前言

去年大概也是这个时候,有不少人在问 docker 查询注册表失败的问题

文章传送门:开源URL短链接服务Shlink

这次似乎问题更严重一些,不仅仅是不能查询注册表,而是连 docker pull 都不行了

bash 复制代码
# 镜像拉取测试
docker pull alpine:3.18.2

返回的结果显示超时了

log 复制代码
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

解决方案

方法一:设置镜像站点

群晖 Docker --> 注册表 --> 设置

亲测只有南大的有用,但能用多久老苏也不知道

  • 注册表名称:随意,例如:南京大学镜像站
  • 注册表 URL:https://docker.nju.edu.cn

确认 保存

方法二:通过代理站点下载

通过 docker 代理网站:https://dockerproxy.com/ 下载,会多几个步骤

将需要下载的镜像名称输入到 ① 处,点 ② 的 获取命令

会得到 ③ 中的三条命令

bash 复制代码
# 从代理拉取镜像
docker pull dockerproxy.com/library/alpine:3.18.2

# 重命名镜像
docker tag dockerproxy.com/library/alpine:3.18.2 alpine:3.18.2

# 删除代理镜像https://github.com/DaoCloud/public-image-mirror
docker rmi dockerproxy.com/library/alpine:3.18.2

然后将上面三条命令,通过 SSH 客户端连接到群晖后,逐条执行。不过现在大概率是👇这样的。可能是因为使用的人太多了?

方法三:和方法二类似,只是第三方服务不同

基于开源项目 CRProxy (Container Registry Proxy)CRProxy 是一个通用的 Image 代理,需要在所有需要使用镜像的地方加上前缀 cr.zsm.io/,使用说明参考官方文档:https://github.com/wzshiming/crproxy/blob/master/README_cn.md

考虑到所有都要加前缀太长了,所以采用了方式二的办法,先加前缀下载,然后再重命名的方法

还是以 alpine3.18.2 为例,在 SSH 客户端逐条执行

bash 复制代码
# 从代理拉取镜像
docker pull cr.zsm.io/docker.io/library/alpine:3.18.2

# 重命名镜像(非必须)
docker tag cr.zsm.io/docker.io/library/alpine:3.18.2 alpine:3.18.2

# 删除代理镜像(非必须)
docker rmi cr.zsm.io/docker.io/library/alpine:3.18.2

再举个例子 wbsu2003/yesplaymusic

bash 复制代码
# 从代理拉取镜像
docker pull cr.zsm.io/docker.io/wbsu2003/yesplaymusic:latest

# 重命名镜像(非必须)
docker tag cr.zsm.io/docker.io/wbsu2003/yesplaymusic:latest wbsu2003/yesplaymusic:latest

# 删除代理镜像(非必须)
docker rmi cr.zsm.io/docker.io/wbsu2003/yesplaymusic:latest

小结

这些方法可能都是暂时的,也许今天是 OK 的,可能明天又不灵了。

作为 折腾一族,终极方法当然还是要把自己的网络搞的科学一点,这可以让我们专注于折腾本身,而不会受到其他杂事的干扰。

参考文档

wzshiming/crproxy: CRProxy (Container Registry Proxy)

地址:https://github.com/wzshiming/crproxy

相关推荐
Radan小哥20 小时前
Docker学习笔记—day007
笔记·学习·docker
howard20051 天前
Docker实战 - 将Web项目打成war包部署到tomcat容器里运行
docker·容器化部署web项目
p***c9491 天前
Docker机器学习实战
机器学习·docker·容器
pumpkin845141 天前
Docker 参考手册
chrome·docker·容器
三天不学习1 天前
GitLab Docker 安装完整配置项说明
docker·容器·gitlab
北冥有鱼被烹1 天前
【微知】Ubuntu中如何安装docker?
ubuntu·docker
幻灭行度1 天前
docker镜像导入到K8S的containerd中
java·docker·kubernetes
虎头金猫1 天前
随时随地处理图片文档!Reubah 加cpolar的实用体验
linux·运维·人工智能·python·docker·开源·visual studio
哈里谢顿2 天前
Docker 中快速启动 Prometheus + Grafana操作指南(二)
docker
醇氧2 天前
Mac 安装 Docker Desktop
macos·docker·容器