在当今软件开发的世界中,Docker 技术已经成为了不可或缺的一部分。然而,最近由于ZC的原因,国内的知名公开镜像源失效了,许多开发者在使用 Docker 镜像时常常面临一个问题:镜像拉取速度往往较慢,有些镜像无法拉取。为了解决这一问题,大佬技术爬爬虾写了名为 docker_image_pusher 的开源项目,它利用 Github Action 将国外的 Docker 镜像转存到阿里云私有仓库,以提供给国内服务器使用,免费且易于使用。今天我们就介绍下如何将国外的docker镜像转存到自己的阿里云镜像仓库。
配置阿里云docker镜像仓库
- 登录阿里云容器镜像服务
首先我们需要登录到阿里云容器镜像服务 https://cr.console.aliyun.com/
个人实例可以免费创建3个命名空间,300个镜像,对于我们个人来说已经足够了。
- 创建命令空间
在个人实例下创建一个命名空间,我们需要记住此处创建的命令空间,后边会用到。
- 设置凭证
在访问凭证中设置固定密码,我们需要记住密码,以及此处的用户名和仓库地址,后边会用到。
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:用户名
转存镜像
配置完成后修改项目的images.txt文件,将我们要转存的镜像添加上去,提交代码。
提交之后会自动进入Github Action构建,如下图所示则为构建成功了
查看镜像
转存成功后我们在阿里云容器镜像服务 https://cr.console.aliyun.com/中就可以看到我们转存的镜像了
点击镜像名称就可以看到我们的镜像地址了:
总结
通过使用 docker_image_pusher 这样的开源项目,我们能够轻松地解决国内访问 Docker 镜像拉取速度慢及拉去失败的问题,同时保证了镜像的稳定性和安全性。利用 Github Action 的自动化功能,使得这一过程更加简单和高效。希望本文对你理解和使用 docker_image_pusher 有所帮助!