阿里云开源容器镜像同步工具-image-syncer,再也不怕跨环境同步容器镜像了

文章目录

    • 1. 镜像同步工具(image-syncer)介绍
    • 2.下载地址
    • 3. 执行镜像同步
      • 3.1 获取config.yaml配置文件
      • 3.2 修改配置文件config.yaml
        • 3.2.1 下面将config.yaml配置内容分2部分进行介绍
          • 3.2.1.1 auth-仓库认证信息
          • 3.2.1.2 images-镜像同步信息 请参照如下说明进行源镜像和目标镜像信息配置(说明信息在[]中)
      • 3.3 执行二进制文件进行镜像同步
        • 3.3.1 确认当前用户是否拥有二进制文件执行权限
          • 3.3.1.1 确认文件执行权限
          • 3.3.1.2 若无执行权限,请通过chmod +x 命令添加用户可执行权限
        • 3.3.2 执行镜像同步命令
          • 3.3.2.1 如果是mac电脑,在执行image-syncer二进制文件时可能会有如下风险提示
          • 3.3.2.2 如果是非mac电脑,直接通过执行如下命令进行镜像同步


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,再也不怕跨环境同步容器镜像了_第1张图片
可参照如下步骤解决

点击"在访达中显示"进入image-syncer二进制文件所在目录,右键->打开方式->终端 打开二进制文件,如下图所示

阿里云开源容器镜像同步工具-image-syncer,再也不怕跨环境同步容器镜像了_第2张图片

关闭刚刚打开的终端(入下图所示),然后参照非mac电脑执行方式(3.3.2.2)执行即可
阿里云开源容器镜像同步工具-image-syncer,再也不怕跨环境同步容器镜像了_第3张图片

3.3.2.2 如果是非mac电脑,直接通过执行如下命令进行镜像同步
./image-syncer  --proc=8  --config=./config.yaml

参数说明:
 --proc       并发数,进行镜像同步的并发goroutine数量,默认为5
 --config     设置用户提供的配置文件路径,使用之前需要创建此文件,默认为当前工作目录下的config.json文件。

注意

config.yaml的文件路径如果不在当前目录下,请将–config=之后路径修改为实际config.yaml所在文件路径

你可能感兴趣的:(云原生,docker,容器,云原生)