国内docker公开镜像站的关闭!别急,docker_image_pusher 使用Github Action将国外的Docker镜像转存到阿里云私有仓库

简介: 通过使用 docker_image_pusher 这样的开源项目,我们能够轻松地解决国内访问 Docker 镜像拉取速度慢及拉去失败的问题,同时保证了镜像的稳定性和安全性。利用 Github Action 的自动化功能,使得这一过程更加简单和高效。

在当今软件开发的世界中,Docker 技术已经成为了不可或缺的一部分。然而,最近由于ZC的原因,国内的知名公开镜像源失效了,许多开发者在使用 Docker 镜像时常常面临一个问题:镜像拉取速度往往较慢,有些镜像无法拉取。为了解决这一问题,大佬技术爬爬虾写了名为 docker_image_pusher 的开源项目,它利用 Github Action 将国外的 Docker 镜像转存到阿里云私有仓库,以提供给国内服务器使用,免费且易于使用。今天我们就介绍下如何将国外的docker镜像转存到自己的阿里云镜像仓库。

_20240618214317.jpg

配置阿里云docker镜像仓库

  • 登录阿里云容器镜像服务

首先我们需要登录到阿里云容器镜像服务 https://cr.console.aliyun.com/

_20240618205102.jpg

个人实例可以免费创建3个命名空间,300个镜像,对于我们个人来说已经足够了。

  • 创建命令空间

在个人实例下创建一个命名空间,我们需要记住此处创建的命令空间,后边会用到。

_20240618210240.jpg

  • 设置凭证

在访问凭证中设置固定密码,我们需要记住密码,以及此处的用户名和仓库地址,后边会用到。

_20240618205814.jpg

docker_image_pusher

项目简介

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

使用Github Action将国外的Docker镜像转存到阿里云私有仓库,供国内服务器使用,免费易用

  • 支持DockerHub, gcr.io, k8s.io, ghcr.io等任意仓库
  • 支持最大40GB的大型镜像
  • 使用阿里云的官方线路,速度快

Fork项目

登录github,Fork项目 https://github.com/tech-shrimp/docker_image_pusher

配置环境变量

点击 Settings -> Secret and variables -> Actions -> New Repository secret,依次将我们之前配置的阿里云容器镜像服务的值配置到此处:

  • ALIYUN_NAME_SPACE: 命名空间
  • ALIYUN_REGISTRY: 仓库地址
  • ALIYUN_REGISTRY_PASSWORD: 密码
  • ALIYUN_REGISTRY_USER:用户名

_20240618211123.jpg

转存镜像

配置完成后修改项目的images.txt文件,将我们要转存的镜像添加上去,提交代码。
_20240618213423.jpg

提交之后会自动进入Github Action构建,如下图所示则为构建成功了

_20240618213645.jpg

查看镜像

转存成功后我们在阿里云容器镜像服务 https://cr.console.aliyun.com/中就可以看到我们转存的镜像了

_20240618213905.jpg

点击镜像名称就可以看到我们的镜像地址了:

_20240618214054.jpg

总结

通过使用 docker_image_pusher 这样的开源项目,我们能够轻松地解决国内访问 Docker 镜像拉取速度慢及拉去失败的问题,同时保证了镜像的稳定性和安全性。利用 Github Action 的自动化功能,使得这一过程更加简单和高效。希望本文对你理解和使用 docker_image_pusher 有所帮助!

相关实践学习
通过ACR快速部署网站应用
本次实验任务是在云上基于ECS部署Docker环境,制作网站镜像并上传至ACR镜像仓库,通过容器镜像运行网站应用,网站运行在Docker容器中、网站业务数据存储在Mariadb数据库中、网站文件数据存储在服务器ECS云盘中,通过公网地址进行访问。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
6月前
|
JavaScript Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
474 100
|
6月前
|
缓存 安全 Linux
优化Docker镜像大小的多阶段构建实践
优化Docker镜像大小的多阶段构建实践
436 99
|
6月前
|
缓存 Docker 容器
优化Docker镜像大小的五个实用技巧
优化Docker镜像大小的五个实用技巧
587 98
|
5月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
674 6
|
6月前
|
Java Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
280 8
|
7月前
|
JSON Kubernetes 安全
找到啦,我们已上车,Github 27000+ star,研发团队必备开源工具项目,真丝滑!!!
Trivy 是一款高效灵活的开源安全扫描工具,支持容器镜像、文件系统、Kubernetes 等多目标扫描,具备快速、易用、集成性强等特点,适用于 DevSecOps 全流程安全检测。
282 0
|
6月前
|
人工智能 JavaScript 前端开发
Github 2024-10-28 开源项目周报 Top15
本周GitHub热门项目涵盖Svelte、Open Interpreter、PowerShell等,涉及Web开发、AI助手、自动化工具等领域,Python、JavaScript为主流语言,展现开源技术活跃生态。(239字)
667 19
|
6月前
|
人工智能 JavaScript 前端开发
Github 2024-11-04 开源项目周报 Top14
本周GitHub热门项目涵盖屏幕截图转代码、网页监控、低代码开发等。Python与TypeScript主导,亮点项目包括AI生成代码工具、开源社交应用Bluesky及机器人框架LeRobot,展现AI与自动化技术的快速发展趋势。
350 15
|
6月前
|
人工智能 JavaScript Docker
Github 2024-11-11 开源项目周报 Top15
本周GitHub热门项目涵盖多领域:Python与TypeScript领跑,包括屏幕截图转代码、本地文件共享、PDF处理、AI开发代理等。亮点项目如screenshot-to-code、LocalSend、OpenHands及Diagrams,兼具创新与实用性,广受开发者关注。
650 13