support k8s.gcr.io

support k8s.gcr.io
This commit is contained in:
AnJia 2018-07-13 08:55:17 +08:00 committed by GitHub
parent 2b1c1cf600
commit 8662d01695
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 5 deletions

View File

@ -1,7 +1,7 @@
Google Container Registry Mirror [last sync ${current_date} UTC]
-------
[![Sync Status](https://travis-ci.org/anjia0532/gcr.io_mirror.svg?branch=sync)](https://travis-ci.org/anjia0532/gcr.io_mirror)
[![Sync Status](https://travis-ci.org/${user_name}/gcr.io_mirror.svg?branch=sync)](https://travis-ci.org/${user_name}/gcr.io_mirror)
Syntax
-------
@ -10,6 +10,9 @@ Syntax
gcr.io/namespace/image_name:image_tag
#eq
${user_name}/namespace.image_name:image_tag
# special
k8s.gcr.io/{image}/{tag} <==> gcr.io/google-containers/{image}/{tag} <==> ${user_name}/google-containers.{image}/{tag}
```
Example
@ -28,6 +31,7 @@ ReTag ${user_name} images to 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 ${user_name}/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} <==> ${user_name}/google-containers.{image}/{tag}
images=$(cat img.txt)
#or
@ -35,21 +39,25 @@ images=$(cat img.txt)
# 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)
#EOF
#)
eval $(echo ${images}|
sed 's/gcr\.io/${user_name}/g;s/\//\./g;s/ /\n/g;s/${user_name}\./${user_name}\//g' |
sed 's/k8s\.gcr\.io/${user_name}\/google-containers/g;s/gcr\.io/${user_name}/g;s/\//\./g;s/ /\n/g;s/${user_name}\./${user_name}\//g' |
uniq |
awk '{print "docker pull "$1";"}'
)
# this code will retag all of ${user_name}'s image from local e.g. ${user_name}/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} <==> ${user_name}/google-containers.{image}/{tag}
for img in $(docker images --format "{{.Repository}}:{{.Tag}}"| grep "${user_name}"); do
n=$(echo ${img}| awk -F'[/.:]' '{printf "gcr.io/%s/%s",$2,$3}')
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}${tag}"
docker tag $img "${n}${image}${tag}"
[[ ${n} == "gcr.io/google-containers" ]] && docker tag $img "k8s.gcr.io${image}${tag}"
done
```