docker拉取镜像失败?试试这个开源工具,太丝滑了!

385 阅读2分钟

在使用 Docker 的时候,是否经常遇到以下问题:

  • 镜像拉取速度极慢
  • Docker 官方源经常超时,甚至无法连接
  • 使用第三方镜像源时,发现关键镜像缺失或版本不一致

这些问题不仅影响开发效率,还可能对项目进度造成严重影响。针对这些痛点,开源项目 docker_image_pusher 提供了一个优雅的解决方案。

项目简介

docker_image_pusher 是一款专为解决国内用户 Docker 镜像拉取难题而设计的工具。通过该工具,你可以在Github上预先拉取镜像,并将其推送到国内可访问的容器镜像仓库中,从而大幅提升镜像拉取的速度与成功率。

  • 利用Github Actions快速拉取镜像,将其推送到国内镜像仓库(如阿里云容器镜像服务),从而绕过网络限制。
  • 你可以通过配置文件定义需要同步的镜像列表,支持多镜像批量操作,省时省力。
  • 开源项目,无需复杂的环境配置,快速上手即可使用。

项目地址:github.com/tech-shrimp…

使用方式

配置阿里云

登录阿里云容器镜像服务 cr.console.aliyun.com 启用个人实例,创建一个命名空间(ALIYUN_NAME_SPACE

访问凭证–>获取环境变量

  • 用户名(ALIYUN_REGISTRY_USER)
  • 密码(ALIYUN_REGISTRY_PASSWORD)
  • 仓库地址(ALIYUN_REGISTRY

Fork项目

fork项目,进入您自己的项目,点击Action,启用Github Action功能。

配置环境变量

进入Settings -> Secret and variables -> Actions -> New Repository secret

将上一步的四个值,配置成环境变量

  • ALIYUN_NAME_SPACE
  • ALIYUN_REGISTRY_USER
  • ALIYUN_REGISTRY_PASSWORD
  • ALIYUN_REGISTRY

添加镜像

打开images.txt文件,添加你想要的镜像 可以加tag,也可以不用(默认latest)

可添加 --platform=xxxxx 的参数指定镜像架构

可使用 k8s.gcr.io/kube-state-… 格式指定私库

可使用 #开头作为注释

文件提交后,自动进入Github Action构建,构建完成后将推送到阿里云容器镜像服务。

使用镜像

回到阿里云镜像仓库,点击任意镜像,可查看镜像状态。(可以改成公开,拉取镜像免登录)

在国内服务器pull镜像, 例如:

docker pull registry.cn-hangzhou.aliyuncs.com/ikilobyte/alpine

如果你觉得这篇文章对你有帮助,记得点赞、分享,并关注,万分感谢!