跳到主要内容
版本:v1.7

压缩文件格式

v1.7.0 起,Hangar 使用 zip 格式。

注意

旧版本的 Hangar 创建的压缩包格式(tar.gz)将无法与新版本(zip)格式相兼容。

您可使用 Hangar v1.6.X 加载 tar.gz 格式的压缩包文件。

您可以使用 load 命令将压缩包中的镜像上传至镜像仓库中。

除此之外,您还可以使用 hangar archive 命令,对镜像包文件进行处理:

为什么使用 zip 格式?

相比压缩的 TAR 归档格式(tar.gz),zip 文件格式包含一份文件索引(Directory) 记录了压缩包中存储的文件信息,因此 zip 格式支持随机读取,且支持向已有的压缩包文件中增添新的文件。因此 Hangar 1.7 改为使用 zip 文件格式,以减少执行 save/load/sync 命令时不必要的磁盘空间浪费。

因此,Hangar 将不再支持 tar.gz 格式的文件,旧版本中所使用的 saved-image-cache 缓存文件夹也将不复存在。

docker save 的区别

Hangar 创建的压缩包文件与 docker save 或其他工具(例如 podman)创建的压缩包并不兼容。 目前 Hangar load 命令仅支持将压缩包中的容器镜像上传至镜像仓库中,不支持将容器镜像导出至任何容器运行时(Docker Daemon、CRI-O 以及 Containerd Daemon)中。

Hangar 压缩包的文件体积与其他工具导出的容器镜像压缩包体积几乎一致(甚至更小),除此之外 Hangar 的压缩包可以存储多架构 & 多平台的容器镜像。