背景
使用gzip/bzip2/xz配合docker save可以压缩镜像体积,使用管道传输时效率有何不同?
试验
$ docker image ls ros:jazzy-ros-core
REPOSITORY TAG IMAGE ID CREATED SIZE
ros jazzy-ros-core 82a20bffe6e2 6 months ago 486MB
$ docker save ros:jazzy-ros-core | pv | ssh server docker load
484MiB 0:00:07 [63.2MiB/s]
$ docker save ros:jazzy-ros-core | gzip | pv | ssh server docker load
147MiB 0:00:22 [6.51MiB/s]
$ docker save ros:jazzy-ros-core | bzip2 | pv | ssh server docker load
125MiB 0:00:45 [2.79MiB/s]
$ docker save ros:jazzy-ros-core| xz | pv | ssh server docker load
98.5MiB 0:02:39 [ 630KiB/s]
结论
局域网下带宽不是瓶颈,直接不压缩最快。
gzip/bzip2/xz压缩效果递增,适用于带宽敏感的场景。