为什么使用 skopeo?
- 独立的镜像管理工具:不依赖于 Docker 或 Containerd,提供了更灵活的镜像管理方式。
- 无痕同步:在多仓库间同步镜像时不留痕迹,不会产生垃圾数据。
- 广泛兼容性:支持多种镜像格式,包括 OCI 和 Docker-archive 格式,兼容性非常强。
安装
Ubuntu/Debian
1
| apt-get -y install skopeo
|
Ubuntu/Debian
使用场景
1. 两个镜像仓库间同步数据
1
2
3
4
| skopeo copy --dest-tls-verify=false --src-tls-verify=false \
--override-arch amd64 --override-os linux \
docker://docker.io/nginx:1.27.0-perl \
docker://ghcr.io/aiyijing/nginx:1.27.0-perl
|
参数说明:
–dest-tls-verify: 目的仓库非 HTTPS 或自签证书时需设置为 false
–src-tls-verify: 源仓库非 HTTPS 或自签证书时需设置为 false
–override-arch: Apple Silicon 架构下同步 Linux/AMD 镜像需将 arch 设置为 arm64,AMD64 架构下同步到 ARM 镜像同理设置为 arm64
–override-os: 同上
2. 将 docker-archive 包同步到镜像仓库
1
2
3
4
| # docker save nginx:1.27.0-perl > nginx.1.27.0-perl.tar.gz
skopeo copy --dest-tls-verify=false \
docker-archive:nginx.1.27.0-perl.tar.gz \
docker://ghcr.io/aiyijing/nginx:1.27.0-perl
|
无需 docker load,不产生垃圾数据。