Skip to content

Using skopeo to synchronize third-party images to local registry.

License

Notifications You must be signed in to change notification settings

LiaoSirui/3rdparty-images-syncer

Repository files navigation

3rdparty-image-syncer

第三方镜像同步工具

使用说明

提供的脚本如下:

scripts
├── common.sh          # 公共脚本部分
├── show-images.sh     # 显示所有的第三方镜像
├── show-raw-images.sh # 显示所有的原始第三方镜像
└── sync-image.sh      # 同步指定的镜像

使用只需要将镜像添加到 source-images.list

docker/dockerfile:1.4.3
docker/dockerfile:1.4.3-labs

拷贝好镜像后,可以直接从 harbor 查看镜像,也可以使用如下的命令查看:

# 查看 amd64 架构的镜像
skopeo inspect --override-arch amd64 --tls-verify=false \
  docker://jcr.local.liaosirui.com:5000/third/docker.io/docker/dockerfile:1.4

# 查看 arm64 架构的镜像
skopeo inspect --override-arch arm64 --tls-verify=false \
  docker://jcr.local.liaosirui.com:5000/third/docker.io/docker/dockerfile:1.4

注意:这些镜像无论如何都不能在产品中直接使用,会有如下问题:

(1)镜像名称过长

(2)镜像中之所以包含原始镜像 url 是为了方便核对,这些信息不需要暴露

设计简述

镜像拷贝会执行如下的命令:

skopeo sync \
    --insecure-policy --src-tls-verify=false --dest-tls-verify=false \
    --dest-authfile /root/.docker/config.json \ # 使用 docker 的 config.json 进行认证
    --retry-times 10 \ # 失败重试 10 次
    --all \ # 拷贝所有镜像
    --scoped \ # 保留镜像命名结构
    --src docker --dest docker \
    rockylinux:9.0.20220720 jcr.local.liaosirui.com:5000/third

镜像同步后会转换出如下的地址:

# 注意,这里增加了 docker.io/library
rockylinux:9.0.20220720 -> \
  jcr.local.liaosirui.com:5000/third/docker.io/library/rockylinux:9.0.20220720

# 注意,这里增加了 docker.io
docker/dockerfile:1.4.3-labs -> \
  jcr.local.liaosirui.com:5000/third/docker.io/docker/dockerfile:1.4.3-labs

# 普通的镜像
k8s.gcr.io/pause:3.6 -> \
  jcr.local.liaosirui.com:5000/third/k8s.gcr.io/pause:3.6
quay.io/prometheus-operator/prometheus-operator:v0.47.0 -> \
  jcr.local.liaosirui.com:5000/third/quay.io/prometheus-operator/prometheus-operator:v0.47.0

更多文档

  • skopeo is a command line utility that performs various operations on container images and image repositories

About

Using skopeo to synchronize third-party images to local registry.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages