文章目录
1. 镜像同步工具(image-syncer)介绍
image-syncer是一个容器镜像同步工具,可用来进行多对多的镜像仓库同步,支持目前绝大多数主流的 docker 镜像仓库服务
2.下载地址
请根据使用的操作系统选择对应的二进制文件进行下载,对下载的文件进行解压,解压后可看到可执行文件image-syncer
apple@appledeMacBook-Pro image-syncer-v1.5.2-darwin-arm64 % ls -lt
-rw-r--r--@ 1 apple staff 11357 7 24 14:25 LICENSE
-rw-r--r--@ 1 apple staff 8380 7 24 14:25 README.md
-rwxrwxrwx@ 1 apple staff 15278386 7 24 14:25 image-syncer
3. 执行镜像同步
3.1 获取config.yaml配置文件
config.yaml 在二进制包中不存在,需要自己手动创建或通过官网下载样例 文件完整样例如下:
auth:
registry.xx.cn:
username: demo_xx
password: 8nq99ye
registry.xx.net.cn:
username: demo_xx
password: NNDActz
images:
registry.xx.cn/app-base/app-framework:V1.4.2: registry.xx.com.cn/app-base/app-framework:V1.4.2
registry.xx.cn/app-base/web-framework:V1.4.2: registry.xx.com.cn/app-base/web-framework:V1.4.2
3.2 修改配置文件config.yaml
3.2.1 下面将config.yaml配置内容分2部分进行介绍
3.2.1.1 auth-仓库认证信息
如果同步时涉及到的仓库需要认证,那么请参照如下说明配置auth认证信息(说明信息在[]中)
auth:
registry.xx.cn: [第一个镜像仓库地址,比如源仓库地址]
username: demo_xx [用户名]
password: 897e4CJ [密码,如果是通过生态账号登录Harbor,可以取"用户设置"中的CLI密码]
insecure: true [可选,(v1.0.1后支持)registry是否是http服务,如果是,insecure 字段需要为 true,默认是 false]
registry.xx.com.cn: #[第二个镜像仓库地址,比如目标仓库地址]
username: demo_xx #[第二个镜像仓库用户名]
password: NNDActz #[第二个镜像仓库密码]
3.2.1.2 images-镜像同步信息 请参照如下说明进行源镜像和目标镜像信息配置(说明信息在[]中)
images:
registry.xx.cn/app-base/app-framework:V1.4.2: registry.xx.com.cn/app-base/app-framework:V1.4.2 [ :前为源镜像url(即从哪里同步镜像) :后为目标镜像url(即要同步到哪里)]
registry.xx.cn/web-base/web-framework:V1.4.2: registry.xx.com.cn/web-base/web-framework:V1.4.2 [第二条镜像同步配置,如果有N个镜像要同步,可以配置N条记录]
3.3 执行二进制文件进行镜像同步
3.3.1 确认当前用户是否拥有二进制文件执行权限
3.3.1.1 确认文件执行权限
apple@appledeMacBook-Pro image-syncer-v1.5.2-darwin-arm64 % ls -lt
-rwxrwxrwx@ 1 apple staff 15278386 7 24 14:25 image-syncer
3.3.1.2 若无执行权限,请通过chmod +x 命令添加用户可执行权限
apple@appledeMacBook-Pro image-syncer-v1.5.2-darwin-arm64 % chmod +x image-syncer
3.3.2 执行镜像同步命令
3.3.2.1 如果是mac电脑,在执行image-syncer二进制文件时可能会有如下风险提示
可参照如下步骤解决
点击"在访达中显示"进入image-syncer二进制文件所在目录,右键->打开方式->终端 打开二进制文件,如下图所示
关闭刚刚打开的终端(入下图所示),然后参照非mac电脑执行方式(3.3.2.2)执行即可
3.3.2.2 如果是非mac电脑,直接通过执行如下命令进行镜像同步
./image-syncer --proc=8 --config=./config.yaml
参数说明:
--proc 并发数,进行镜像同步的并发goroutine数量,默认为5
--config 设置用户提供的配置文件路径,使用之前需要创建此文件,默认为当前工作目录下的config.json文件。
注意:
config.yaml的文件路径如果不在当前目录下,请将–config=之后路径修改为实际config.yaml所在文件路径