docker-mirror:神奇指令,一键把镜像拉回“家”

科技   2024-11-04 07:29   黑龙江  

你还在为拉取不到镜像发愁吗?docker-mirror一款超便捷的工具,国内网络也能用,一条指令就把镜像拉回“家”

01

背景


    在dockerHub无法访问后,无疑给运维工作带来了不少麻烦,期间有人问我,我们是怎么应对的?很庆幸的是,我们在问题发生之前,就已经把核心服务的容器镜像转存到本地的Harbor仓库中,在问题发生后只需要更新边缘服务的镜像即可。
    从长远考虑,我还是建议企业拥有自己的镜像仓库,把使用到的镜像转存到本地仓库,避免服务再次因镜像拉取不了而无法启动,现在我开源这个工具,可以帮助你快捷完成镜像转存国内网络也能用
02

适用仓库


下面两个仓库都适用,已验证

  • Harbor

  • 阿里云镜像仓库


03

源码编译


  • 二进制文件(已编译好)下载地址
wget https://github.com/yilingyi/docker-mirror/releases/download/1.0.0/docker-mirror-1.0.0-amd64.tar.gz

  • 源码编译
# 下载仓库代码git clone https://github.com/yilingyi/docker-mirror.git
# 进入仓库目录cd docker-mirror
# 编译,生成二进制文件go build -o docker-mirror main.go
04

使用说明


  • 添加执行权限,并拷贝至`/usr/bin`目录下
chmod +x docker-mirror && cp docker-mirror /usr/bin
  • 查看帮助信息
docker-mirror help
  • 配置初始化
Harbor 域名:  填写仓库域名,可以是harbor或者阿里云镜像仓库
Harbor 用户名: 填写账号,具有pull和push权限
Harbor 密码: 填写密码
Harbor 项目: 填写项目(仓库)名称,默认为public


  • 镜像转存
    一条指令拉取镜像到本地,在修改镜像名称后转存本地仓库,超便捷!注意镜像名称不要携带域名
docker-mirror pull <镜像名称>

  • 镜像拉取至本地
    仅拉取到本地,不上传至harbor仓库,不修改容器镜像名称
docker-mirror pull-local <镜像名称>

  • 配置管理
  在执行docker-mirror config初始化后,会生成配置文件~/.config/docker-mirror/config.yaml,存储相关信息
harbor:  domain: registry.cn-hangzhou.aliyuncs.com  username: ******  password: ******  project: yilingyidocker_registry: docker.m.daocloud.io
05

结 语

    

    对于docker镜像的管理,建议要建立自己的私有仓库,防止哪天你的加速仓库又出问题了,又得紧急救火,好了!希望docker-mirror可以帮助到你,本期分享就到这里,谢谢!

源码地址(好用帮忙点个星星,谢谢!):

https://gitee.com/hanxianchao66/docker-mirror


欢迎关注我的公众号「DevOps和k8s全栈技术」,进公众号【服务】栏,可以啃到技术群,点击即可加入学习交流群。

DevOps和k8s全栈技术
专注于DevOps,Kubernetes,Linux,Docker,istio,微服务,Spring Cloud,python,go,数据库,Nginx,Tomcat,云计算等技术分享~
 最新文章