Giter Club home page Giter Club logo

hub-mirror's Introduction

hub-mirror

使用 docker.io 或其他镜像服务来提供(但不限于) gcr.io、registry.k8s.io、k8s.gcr.io、quay.io、ghcr.io 等国外镜像加速下载服务

为减少重复请求,合理利用资源,建议提前在 issues 搜索镜像是否已转换过

示例:issues搜索gcr.io/google-samples/microservices-demo/emailservice:v0.3.5

原理

无法拉取 gcr.io 镜像?用魔法来打败魔法

开始使用

方案一:白嫖我的,点个 Star ,直接提交 issues

要求:严格按照模板规范提交,参考: 成功案例失败案例

限制:每次提交最多 11 个镜像地址(为啥是11个?因为我的第一次需求刚好要转换11个镜像🤣)

本人 Docker 账号有每日镜像拉取限额,请勿滥用

方案二:自己动手,丰衣足食,Fork 本项目,绑定你自己的 DockerHub 账号或其他镜像服务账号

  1. 绑定账号

    • 如果要使用 DockerHub 的镜像服务

      Settings-Secrets-Actions 选择 New repository secret 新建 DOCKER_USERNAME(你的 Docker 用户名) 和 DOCKER_TOKEN(你的 Docker 密码) 两个 Secrets

    • 如果需要使用其他镜像服务,例如腾讯云、阿里云等

      Settings-Secrets-Actions 选择 New repository secret 新建 DOCKER_USERNAME(你的其他镜像服务用户名) 和 DOCKER_TOKEN(你的其他镜像服务密码)以及 DOCKER_REPOSITORY 三个 Secrets

      其中 DOCKER_REPOSITORY 配置例子:

      • 腾讯云: ccr.ccs.tencentyun.com/xxxxxx
      • 阿里云: registry.cn-hangzhou.aliyuncs.com/xxxxxx
      • 等其他云...
  2. 在 Fork 的项目中开启 Settings-General-Features 中的 Issues 功能

  3. 在 Fork 的项目中修改 Settings-Actions-General 中的 Workflow permissionsRead and write permissions

  4. Issues-Labels 选择 New label 依次添加三个 label :hub-mirrorsuccessfailure

  5. Actions 里选择 hub-mirror ,在右边 ··· 菜单里选择 Enable Workflow

方案三:已有魔法,支持本地使用

$ go install github.com/togettoyou/hub-mirror@latest
$ hub-mirror --username=xxxxxx --password=xxxxxx --content='{ "hub-mirror": ["gcr.io/google-samples/microservices-demo/emailservice:v0.3.5","hello-world:latest"] }'
# 如果需要使用自定义镜像仓库
$ hub-mirror --username=xxxxxx --password=xxxxxx --repository=registry.cn-hangzhou.aliyuncs.com/xxxxxx --content='{ "hub-mirror": ["gcr.io/google-samples/microservices-demo/emailservice:v0.3.5","hello-world:latest"] }'

hub-mirror's People

Contributors

gclm avatar skyedai910 avatar sowevo avatar togettoyou avatar

Stargazers

 avatar

hub-mirror's Issues

[hub-mirror] 请求执行任务

{
"hub-mirror": [
"goharbor/nginx-photon:v2.2.3",
"goharbor/harbor-portal:v2.2.3",
"goharbor/harbor-core:v2.2.3",
"goharbor/harbor-jobservice:v2.2.3",
"goharbor/registry-photon:v2.2.3",
"goharbor/harbor-registryctl:v2.2.3",
"goharbor/notary-server-photon:v2.2.3",
"goharbor/notary-signer-photon:v2.2.3",
"goharbor/trivy-adapter-photon:v2.2.3",
"goharbor/harbor-exporter:v2.2.3"
"gitlab/gitlab-ce:15.5.1-ce.0"
]
}

[hub-mirror] 请求执行任务

{
"hub-mirror": [
"horizoncd/horizon-core:v2.0.9",
"horizoncd/horizon-swagger:v2.0.9",
"horizoncd/horizon-web:v2.0.7",
"horizoncd/horizon-job:v2.0.9"
]
}

[hub-mirror] 请求执行任务

{
"hub-mirror": [
"gitlab/gitlab-ce:15.5.1-ce.0",
"gcr.io/tekton-releases/github.com/tektoncd/dashboard/cmd/dashboard@sha256:0df1f3d488596190b5d03b5b08af994ab2791daf11ec894cbd0c74c0cdda6a04$gcr.io/tekton-releases/github.com/tektoncd/dashboard/cmd/dashboard",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/controller:v0.28.0@sha256:6fd8fe1d19933c62efe0195a05e2c93b5237739dc68c398843dfa2dd22fcb91d$gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/controller:v0.28.0",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/webhook:v0.28.0@sha256:f19dd16303ff8a8d55d706db5c8f8db593ba597684888bb15e70420fc4824103$gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/webhook:v0.28.0",
"gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/controller:v0.17.0@sha256:6c78e98d1f737e5acfb63bc6049d36151a4e377943b7b98a48330adbcbbd4c34$gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/controller:v0.17.0",
"gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/eventlistenersink:v0.17.0@sha256:317e4e93daa1c3776eab0822f53fc2cafd86ad9c62f6f8f5a03417515bf32d5a$gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/eventlistenersink:v0.17.0"
]
}

[hub-mirror] 请求执行任务

{
"hub-mirror": [
"horizoncd/horizon-core:v2.0.9",
"horizoncd/horizon-swagger:v2.0.9",
"horizoncd/horizon-web:v2.0.7",
"horizoncd/horizon-job:v2.0.9"
]
}

[hub-mirror] 请求执行任务

{
"hub-mirror": [
"goharbor/nginx-photon:v2.2.3",
"goharbor/harbor-portal:v2.2.3",
"goharbor/harbor-core:v2.2.3",
"goharbor/harbor-jobservice:v2.2.3",
"goharbor/registry-photon:v2.2.3",
"goharbor/harbor-registryctl:v2.2.3",
"goharbor/notary-server-photon:v2.2.3",
"goharbor/notary-signer-photon:v2.2.3",
"goharbor/trivy-adapter-photon:v2.2.3",
"goharbor/harbor-exporter:v2.2.3",
"gitlab/gitlab-ce:15.5.1-ce.0"
]
}

[hub-mirror] 请求执行任务

{
"hub-mirror": [
"bitnami/redis:7.0.10-debian-11-r2$bitnami/redis",
"bitnami/redis-sentinel:7.0.10-debian-11-r1$bitnami/redis-sentinel",
"bitnami/redis-exporter:1.48.0-debian-11-r6$bitnami/redis-exporter",
"bitnami/bitnami-shell:11-debian-11-r99$bitnami/bitnami-shell"
]
}

[hub-mirror] 请求执行任务

{
"hub-mirror": [
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/imagedigestexporter:v0.28.0",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/pullrequest-init:v0.28.0",
"gcr.io/google.com/cloudsdktool/cloud-sdk:302.0.0-slim",
"gcr.io/distroless/base:debug",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/webhook:v0.28.0",
"gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/controller:v0.17.0",
"gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/eventlistenersink:v0.17.0",
"gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/webhook:v0.17.0",
"gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/interceptors:v0.17.0"
]
}

[hub-mirror] 请求执行任务

{
"hub-mirror": [
"horizoncd/horizon-core:v2.0.9",
"horizoncd/horizon-swagger:v2.0.9",
"horizoncd/horizon-web:v2.0.7",
"horizoncd/horizon-job:v2.0.9"
]
}

[hub-mirror] 请求执行任务

{
"hub-mirror": [
"gitlab/gitlab-ce:15.5.1-ce.0",
"gcr.io/tekton-releases/github.com/tektoncd/dashboard/cmd/dashboard@sha256:0df1f3d488596190b5d03b5b08af994ab2791daf11ec894cbd0c74c0cdda6a04",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/controller:v0.28.0@sha256:6fd8fe1d19933c62efe0195a05e2c93b5237739dc68c398843dfa2dd22fcb91d",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/webhook:v0.28.0@sha256:f19dd16303ff8a8d55d706db5c8f8db593ba597684888bb15e70420fc4824103",
"gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/controller:v0.17.0@sha256:6c78e98d1f737e5acfb63bc6049d36151a4e377943b7b98a48330adbcbbd4c34",
"gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/eventlistenersink:v0.17.0@sha256:317e4e93daa1c3776eab0822f53fc2cafd86ad9c62f6f8f5a03417515bf32d5a"
]
}

[hub-mirror] 请求执行任务

{
"hub-mirror": [
"node:16-alpine3.17$node",
"node:20.5-alpine$node",
"golang:1.18-alpine$golang",
"golang:1.19-alpine$golang",
"golang:1.20-alpine$golang",
"golang:1.21-alpine$golang"
]
}

[hub-mirror] 请求执行任务

{
"hub-mirror": [
"horizoncd/horizon-core:v2.0.9$horizon-core",
"horizoncd/horizon-job:v2.0.9$horizon-job",
"horizoncd/horizon-swagger:v2.0.9$horizon-swagger",
"horizoncd/horizon-web:v2.0.8$horizon-web"
]
}

[hub-mirror] 请求执行任务

{
"hub-mirror": [
"gitlab/gitlab-ce:15.5.1-ce.0",
"gcr.io/tekton-releases/github.com/tektoncd/dashboard/cmd/dashboard@sha256:0df1f3d488596190b5d03b5b08af994ab2791daf11ec894cbd0c74c0cdda6a04$gcr.io/tekton-releases/github.com/tektoncd/dashboard/cmd/dashboard:latest",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/controller:v0.28.0@sha256:6fd8fe1d19933c62efe0195a05e2c93b5237739dc68c398843dfa2dd22fcb91d$gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/controller:v0.28.0",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/webhook:v0.28.0@sha256:f19dd16303ff8a8d55d706db5c8f8db593ba597684888bb15e70420fc4824103$gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/webhook:v0.28.0",
"gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/controller:v0.17.0@sha256:6c78e98d1f737e5acfb63bc6049d36151a4e377943b7b98a48330adbcbbd4c34$gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/controller:v0.17.0",
"gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/eventlistenersink:v0.17.0@sha256:317e4e93daa1c3776eab0822f53fc2cafd86ad9c62f6f8f5a03417515bf32d5a$gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/eventlistenersink:v0.17.0"
]
}

[hub-mirror] 请求执行任务

{
"hub-mirror": [
"maven:3.8.6-openjdk-8$maven",
"maven:3.8.6-amazoncorretto-11$maven",
"maven:3.8.6-amazoncorretto-17$maven"
]
}

[hub-mirror] 请求执行任务

{
"hub-mirror": [
"gcr.io/tekton-releases/github.com/tektoncd/dashboard/cmd/dashboard:v0.13.0$tektoncd/dashboard/cmd/dashboard",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/controller:v0.28.0$tektoncd/pipeline/cmd/controller",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/kubeconfigwriter:v0.28.0$tektoncd/pipeline/cmd/kubeconfigwriter",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/git-init:v0.28.0$tektoncd/pipeline/cmd/git-init",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/entrypoint:v0.28.0$tektoncd/pipeline/cmd/entrypoint",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/nop:v0.28.0$tektoncd/pipeline/cmd/nop"
]
}

[hub-mirror] 请求执行任务

{
"hub-mirror": [
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/imagedigestexporter:v0.28.0$tektoncd/pipeline/cmd/imagedigestexporter",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/pullrequest-init:v0.28.0$tektoncd/pipeline/cmd/pullrequest-init",
"gcr.io/google.com/cloudsdktool/cloud-sdk:302.0.0-slim",
"gcr.io/distroless/base:debug",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/webhook:v0.28.0$tektoncd/pipeline/cmd/webhook",
"gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/controller:v0.17.0$tektoncd/triggers/cmd/controller",
"gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/eventlistenersink:v0.17.0$tektoncd/triggers/cmd/eventlistenersink",
"gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/webhook:v0.17.0$tektoncd/triggers/cmd/webhook",
"gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/interceptors:v0.17.0$tektoncd/triggers/cmd/interceptors"
]
}

[hub-mirror] 请求执行任务

{
"hub-mirror": [
"gcr.io/tekton-releases/github.com/tektoncd/dashboard/cmd/dashboard:v0.13.0",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/controller:v0.28.0",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/kubeconfigwriter:v0.28.0",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/git-init:v0.28.0",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/entrypoint:v0.28.0",
"gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/nop:v0.28.0"
]
}

[hub-mirror] 请求执行任务

{
"hub-mirror": [
"horizoncd/horizon-core:v2.0.9$horizon-core",
"horizoncd/horizon-job:v2.0.9$horizon-job",
"horizoncd/horizon-swagger:v2.0.9$horizon-swagger",
"horizoncd/horizon-web:v2.0.8$horizon-web",
]
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.