你还在为拉取不到镜像发愁吗?docker-mirror一款超便捷的工具,国内网络也能用,一条指令就把镜像拉回“家”
01、背景
在dockerHub无法访问后,无疑给运维工作带来了不少麻烦,期间有人问我,我们是怎么应对的?很庆幸的是,我们在问题发生之前,就已经把核心服务的容器镜像转存到本地的Harbor仓库中,在问题发生后只需要更新边缘服务的镜像即可。
从长远考虑,我还是建议企业拥有自己的镜像仓库,把使用到的镜像转存到本地仓库,避免服务再次因镜像拉取不了而无法启动,现在我开源这个工具,可以帮助你快捷完成镜像转存,国内网络也能用。
02、适用仓库
下面两个仓库都适用,已验证
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、使用说明
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: yilingyi
docker_registry: docker.m.daocloud.io
05、结 语
对于docker镜像的管理,建议要建立自己的私有仓库,防止哪天你的加速仓库又出问题了,又得紧急救火,好了!希望docker-mirror可以帮助到你,本期分享就到这里,谢谢!
源码地址(好用帮忙点个星星,谢谢!):
https://github.com/yilingyi/docker-mirror.git