All Projects → zhangguanzhang → Gcr.io

zhangguanzhang / Gcr.io

Licence: apache-2.0
🌀 sync the docker images of the gcr.io and quay.io

Projects that are alternatives of or similar to Gcr.io

Cloudexplorer
Cloud Explorer
Stars: ✭ 170 (-15%)
Mutual labels:  sync
Tox
Command line driven CI frontend and development task automation tool.
Stars: ✭ 2,523 (+1161.5%)
Mutual labels:  travis
Llvs
Low-Level Versioned Store
Stars: ✭ 193 (-3.5%)
Mutual labels:  sync
Floccus
☁️ Sync your bookmarks privately across browsers
Stars: ✭ 2,630 (+1215%)
Mutual labels:  sync
Env Ci
Get environment variables exposed by CI services
Stars: ✭ 180 (-10%)
Mutual labels:  travis
Pyload
The free and open-source Download Manager written in pure Python
Stars: ✭ 2,393 (+1096.5%)
Mutual labels:  docker-images
Docker S3 Volume
Docker container with a data volume from s3.
Stars: ✭ 166 (-17%)
Mutual labels:  sync
Lighthousebot
Run Lighthouse in CI, as a web service, using Docker. Pass/Fail GH pull requests.
Stars: ✭ 2,251 (+1025.5%)
Mutual labels:  travis
Remarkableapi
Docs and implementation of the reMarkable file sync API
Stars: ✭ 183 (-8.5%)
Mutual labels:  sync
Docker Credential Gcr
A Docker credential helper for GCR users
Stars: ✭ 192 (-4%)
Mutual labels:  docker-images
Travis cpp tutorial
Tutorial how to use Travis CI with C++
Stars: ✭ 178 (-11%)
Mutual labels:  travis
Nodedock
📦🚢 Docker Node.js development environment
Stars: ✭ 180 (-10%)
Mutual labels:  docker-images
Couchbase Lite Core
Cross-platform C++ core library for Couchbase Lite
Stars: ✭ 187 (-6.5%)
Mutual labels:  sync
Testen
✔️ Run tests for multiple versions of Node.js in local env.
Stars: ✭ 176 (-12%)
Mutual labels:  travis
Cryptsync
CryptSync is a small utility that synchronizes two folders while encrypting the contents in one folder. That means one of the two folders has all files unencrypted (the files you work with) and the other folder has all the files encrypted.
Stars: ✭ 195 (-2.5%)
Mutual labels:  sync
Github Sync
⤵️ A GitHub Action for syncing current repository with remote
Stars: ✭ 166 (-17%)
Mutual labels:  sync
Containerregistry
A set of Python libraries and tools for interacting with a Docker Registry.
Stars: ✭ 183 (-8.5%)
Mutual labels:  docker-images
Syncmap
A typed implementation of the Go sync.Map using code generation
Stars: ✭ 200 (+0%)
Mutual labels:  sync
Amazonriver
amazonriver 是一个将postgresql的实时数据同步到es或kafka的服务
Stars: ✭ 198 (-1%)
Mutual labels:  sync
Earthly
Repeatable builds
Stars: ✭ 5,805 (+2802.5%)
Mutual labels:  docker-images

use the travis to sync the docker images of the gcr.io and quay.io

Build Status

更新

  • 2018/07/15 - 优先推送GB镜像,防止有些全部GB的镜像占满空间
  • 2018/07/18 - 重写逻辑,实现伪接口方便后续扩展
  • 2018/07/19 - quay查询tag有问题,修复
  • 2018/07/22 - 部分文件生成但是未推送镜像到dockerhub,增加文件check来解决
  • 2018/07/23 - 文件check增加时间间隔触发,设置为6小时
  • 2018/07/26 - 增加loop文件,实现每次travis超时后下次还能从上次的namespace继续同步实现loop
  • 2018/07/29 - travis 10分钟不输出会中断,文件check不输出会超时,增加live输出达到存活
  • 2018/08/20 - 文件太多,分为两个仓库同步
  • 2018/09/22 - gcloud-sdk报错,改成http接口查询各项信息

GOOLE_NAMESPACE:

google-appengine cloudsql-docker cloud-marketplace kubeflow-images-public spinnaker-marketplace istio-release kubernetes-e2e-test-images cloud-builders knative-releases cloud-datalab linkerd-io distroless google_containers kubernetes-helm runconduit google-samples k8s-minikube heptio-images tf-on-k8s-dogfood

QUAY_NAMESPACE:

coreos wire calico prometheus outline weaveworks hellofresh kubernetes-ingress-controller replicated kubernetes-service-catalog 3scale

同步以上镜像,另外 k8s.gcr.io <==> gcr.io/google-containers <==> gcr.io/google_containers

How to use?

拉取

假设需要拉取gcr.io/google_containers/pause:3.1 和 gcr.io/google_containers/kube-apiserver-amd64:v1.11.3

$ curl -s https://zhangguanzhang.github.io/bash/pull.sh | bash -s -- gcr.io/google_containers/pause:3.1
$ curl -s https://zhangguanzhang.github.io/bash/pull.sh | bash -s -- gcr.io/google_containers/kube-apiserver-amd64:v1.11.3

查询

查询域名仓库下的namespace和namespace里的镜像列表

$ curl -s https://zhangguanzhang.github.io/bash/pull.sh | bash -s search gcr.io
google-samples
google_containers
k8s-minikube
kubernetes-helm
runconduit
spinnaker-marketplace
tf-on-k8s-dogfood
$ curl -s https://zhangguanzhang.github.io/bash/pull.sh | bash -s search gcr.io/google_containers
addon-builder
addon-resizer-amd64
addon-resizer-arm
addon-resizer-arm64
addon-resizer-ppc64le
addon-resizer-s390x
......

查询镜像的所有tag或者是否存在tag时

$ curl -s https://zhangguanzhang.github.io/bash/pull.sh | bash -s -- search gcr.io/google_containers/kube-apiserver-amd64
v1.10.0-alpha.0
v1.10.0-alpha.1
v1.10.0-alpha.2
v1.10.0-alpha.3
v1.10.0-beta.0
......
$ curl -s https://zhangguanzhang.github.io/bash/pull.sh | bash -s -- search gcr.io/google_containers/kube-apiserver-amd64:v1.9.3
v1.9.3

或者自己把内容保存为脚本拉取

过程:

click me to see

方便后期扩展 利用shell的先展开变量这一特点来实现了伪接口扩展来拉取其他仓库

foo(){
    while read img;do
        while read tag;do
            echo docker pull $img:$tag
            echo docker push repo/$img:$tag
        done < <( [email protected]::get_img_tags $img)
    done < <( [email protected]::get_names )
}


google::get_names(){

}

google::get_img_tags(){

}

quay_io::get_names(){

}
quay_io::get_img_tags(){

}


foo google
foo quay_io
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].