cnrancher / hangar

Multi-platform container image command-line utility.
https://hangar.cnrancher.com
Apache License 2.0
12 stars 6 forks source link

[save | mirror | sync] Add `os` option when saving/mirroring images #25

Closed STARRY-S closed 1 year ago

STARRY-S commented 1 year ago

默认情况下,Hangar Mirror / Save / Sync 镜像时,会将 linux 和 windows 镜像都进行拷贝。

Issue: https://github.com/cnrancher/pandaria/issues/2950 中,只需要 Save Linux 系统的容器镜像,额外下载 Windows 系统的镜像会增大压缩包体积并增加 Save 的时间,因此可以添加 --os 参数,默认值为 linux,windows,在拷贝镜像时,指定只拷贝 Linux / Windows 架构的镜像。

STARRY-S commented 1 year ago

已完成自测 & Validation Test;可于 v1.6.0-rc6 及后续 RC 版本测试。

  1. Mirror / Mirror-Validate

    # 仅 Mirror Linux 系统的镜像
    hangar mirror -f list.txt --os="linux" -j 10
    hangar mirror-validate -f list.txt --os=linux -j 10
    
    # 仅 Mirror Windows 系统的镜像
    hangar mirror -f list.txt --os="windows" -j 10
    hangar mirror-validate -f list.txt --os=windows -j 10
  2. Save / Load / Load-Validate

    # 仅 Save Linux 系统的镜像
    hangar save -f list.txt --os="linux" -j 10
    hangar load -s saved-images.tar.gz -d $URL -j 10
    hangar load-validate -s saved-images.tar.gz -d $URL -j 10
    
    # 仅 Save Windows 系统的镜像
    hangar save -f list.txt --os="windows" -j 10
    hangar load -s saved-images.tar.gz -d $URL -j 10
    hangar load-validate -s saved-images.tar.gz -d $URL -j 10
rootwuj commented 1 year ago

版本:v1.6.0-rc6

在此版本按照 https://github.com/cnrancher/hangar/issues/25#issuecomment-1560548956 步骤验证通过。