all of the gcr.io docker image mirror
Go to file
AnJia 28d3988785
Update gcr.io_mirror.yml
2021-12-30 10:27:25 +08:00
.github Update gcr.io_mirror.yml 2021-12-30 10:27:25 +08:00
.gitignore init 2021-12-29 19:05:27 +08:00
CHANGES.md init 2021-12-29 19:05:27 +08:00
LICENSE init 2021-12-29 19:05:27 +08:00
README.md docs: 修改文档 2021-12-29 19:16:21 +08:00

README.md

Google Container Registry Mirror(Google Container Registry镜像加速)

Syntax/语法

# origin / 原镜像名称
gcr.io/namespace/image_name:image_tag
 
# eq / 等同于
anjia0532/namespace.image_name:image_tag

# special / 特别的
k8s.gcr.io/{image}/{tag} <==> gcr.io/google-containers/{image}/{tag} <==> anjia0532/google-containers.image_name:image_tag 

Uses/如何拉取新镜像

创建issues ,将自动触发 github actions 进行拉取转推到docker hub

注意:

issues标题必须为 [PORTER]镜像名:tag 的格式,例如[PORTER]k8s.gcr.io/federation-controller-manager-arm64:v1.3.1-beta.1,[PORTER]gcr.io/google-containers/federation-controller-manager-arm64:v1.3.1-beta.1

issues的内容无所谓可以为空

可以参考 已搬运镜像集锦

注意:

本项目目前仅支持 gcr.io和k8s.gcr.io 镜像

ReTag anjia0532 images to gcr.io/ 将加速下载的镜像重命名为gcr.io

# replace gcr.io/google-containers/federation-controller-manager-arm64:v1.3.1-beta.1 to real image
# this will convert gcr.io/google-containers/federation-controller-manager-arm64:v1.3.1-beta.1 
# to anjia0532/google-containers.federation-controller-manager-arm64:v1.3.1-beta.1 and pull it
# k8s.gcr.io/{image}/{tag} <==> gcr.io/google-containers/{image}/{tag} <==> anjia0532/google-containers.{image}/{tag}

images=$(cat img.txt)
#or 
#images=$(cat <<EOF
# gcr.io/google-containers/federation-controller-manager-arm64:v1.3.1-beta.1
# gcr.io/google-containers/federation-controller-manager-arm64:v1.3.1-beta.1
# gcr.io/google-containers/federation-controller-manager-arm64:v1.3.1-beta.1
#EOF
#)

eval $(echo ${images}|
        sed 's/k8s\.gcr\.io/anjia0532\/google-containers/g;s/gcr\.io/anjia0532/g;s/\//\./g;s/ /\n/g;s/anjia0532\./anjia0532\//g' |
        uniq |
        awk '{print "docker pull "$1";"}'
       )

# this code will retag all of anjia0532's image from local  e.g. anjia0532/google-containers.federation-controller-manager-arm64:v1.3.1-beta.1 
# to gcr.io/google-containers/federation-controller-manager-arm64:v1.3.1-beta.1
# k8s.gcr.io/{image}/{tag} <==> gcr.io/google-containers/{image}/{tag} <==> anjia0532/google-containers.{image}/{tag}

for img in $(docker images --format "{{.Repository}}:{{.Tag}}"| grep "anjia0532"); do
  n=$(echo ${img}| awk -F'[/.:]' '{printf "gcr.io/%s",$2}')
  image=$(echo ${img}| awk -F'[/.:]' '{printf "/%s",$3}')
  tag=$(echo ${img}| awk -F'[:]' '{printf ":%s",$2}')
  docker tag $img "${n}${image}${tag}"
  [[ ${n} == "gcr.io/google-containers" ]] && docker tag $img "k8s.gcr.io${image}${tag}"
done