容器镜像服务 SWR-使用image-migrator迁移镜像至SWR:image-migrator使用方法

时间:2024-04-18 20:27:01

image-migrator使用方法

image-migrator工具支持在Linux(x86、arm)和Windows环境中运行,使用方法相似。本文将以Linux(x86)环境为例进行介绍。

若使用Linux(arm)或Windows环境,请将下述命令中的image-migrator-linux-amd64分别替换为image-migrator-linux-arm64image-migrator-windows-amd64.exe

在image-migrator工具所在目录下执行./image-migrator-linux-amd64 -h,可以查看image-migrator工具的使用方法。

  • --auth:指定auth.json的路径,默认在image-migrator所在目录下。
  • --images:指定images.json的路径,默认在image-migrator所在目录下。
  • --log:指定image-migrator生成日志的路径,默认是image-migrator当前目录下的image-migrator.log。
  • --namespace:默认的目标仓库的namespace,也就是说,如果images.json中没有指定目标仓库中的namespace,可以在执行迁移命令时指定。
  • --registry:默认的目标仓库的registry,也就是说,如果images.json中没有指定目标仓库中的registry,可以在执行迁移命令时指定。
  • --retries:迁移失败时的重试次数,默认为3。
  • --workers:镜像搬迁的worker数量(并发数),默认是7。
$ ./image-migrator-linux-amd64 -h
A Fast and Flexible docker registry image images tool implement by Go.

Usage:
  image-migrator [flags]

Aliases:
  image-migrator, image-migrator

Flags:
      --auth string        auth file path. This flag need to be pair used with --images. (default "./auth.json")
  -h, --help               help for image-migrator
      --images string      images file path. This flag need to be pair used with --auth (default "./images.json")
      --log string         log file path (default "./image-migrator.log")
      --namespace string   default target namespace when target namespace is not given in the images config file, can also be set with DEFAULT_NAMESPACE environment value
      --registry string    default target registry url when target registry is not given in the images config file, can also be set with DEFAULT_REGISTRY environment value
  -r, --retries int        times to retry failed tasks (default 3)
  -w, --workers int        numbers of working goroutines (default 7)

$./image-migrator --workers=5 --auth=./auth.json --images=./images.json --namespace=test \
--registry=swr.cn-north-4.myhuaweicloud.com --retries=2
$ ./image-migrator 
Start to generate images tasks, please wait ...
Start to handle images tasks, please wait ...
Images(38) migration finished, 0 images tasks failed, 0 tasks generate failed

示例如下:

./image-migrator --workers=5 --auth=./auth.json --images=./images.json --namespace=test --registry=swr.cn-north-4.myhuaweicloud.com --retries=2

该命令表示将“images.json”文件中的镜像迁移至“swr.cn-north-4.myhuaweicloud.com/test”镜像仓库下,迁移失败时可以重试2次,一次可以同时搬迁5个镜像。

support.huaweicloud.com/bestpractice-swr/swr_bestpractice_0108.html