我的开源工具-pyDockerMirror
pyDockerMirror 容器镜像转存工具
Github地址: https://github.com/ivmoe/pyDockerMirror
支持范围
建议使用Python3.7+,以下版本没有经过验证。
理论上凡是支持Docker登录、pull、push的私有仓库均适用。
TODO
- 批量镜像拉取及推送
PS: 其实我认为目前功能已经够用了,上边功能哪天闲下来再加吧。
更新日志
2024-11-21 新增批量拉取镜像功能,新增线程池,加快多镜像拉取速度。
如果没有必要,可能不会再更新了。
写到这里,我觉得这个项目已经基本满足我的需求了,如果有什么问题,欢迎提issue。
镜像加速器配置
针对目前DockerHub官方被Ban的情况下,可以通过配置/etc/docker/daemon.json
配置镜像加速器。
下面是我的配置:
1 | { |
配置完成后,需要执行以下两个命令以生效:
1 | systemctl daemon-reload |
编译
- 源码编译
1 | # 安装python依赖库 pyinstaller、docker |
使用说明
- 下载二进制文件并解压
1 | wget https://github.com/ivmoe/pyDockerMirror/releases/download/v1.0.0/pyDockerMirror.tar.gz |
- 添加执行权限,并拷贝至
/usr/local/bin
目录下
1 | chmod +x pydm && cp pydm /usr/local/bin |
- 查看帮助信息
1 | pydm help |
- 配置初始化
privateRegistry 域名: 填写私有仓库域名,可以是harbor或者阿里云镜像仓库
privateRegistry 用户名: 填写账号,具有pull和push权限
privateRegistry 密码: 填写密码
privateRegistry 项目: 填写项目(仓库)名称,默认为public
示例:
- 镜像同步到私有仓库
拉取镜像到本地,重新Tag后推送镜像到私有仓库。
1 | pydm pull <镜像名称> |
project没有写对的话,报错如下:
- 镜像拉取至本地
仅拉取到本地,不上传至私有仓库,不修改镜像Tag
1 | pydm pull-local <镜像名称> |
例如:
1 | # 拉取单个镜像 |
- 配置管理
在执行pydm init
初始化后,会生成配置文件/etc/pydm/config
,存储相关信息。
1 | privateRegistry: |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 萌小恩笔记!
评论
TwikooWaline