Giter Site home page Giter Site logo

container-mirror's Introduction

声明

您理解并同意:本镜像站收集并供您下载的镜像文件是按“原样”提供的,即我们无法控制或修改镜像文件,可能会出现由于开发者未及时更新或该镜像文件本身存在异常导致该镜像文件损坏或其他不可用状态,我们也不提供有关文件(内容)的任何保证,不会对镜像文件及其相关的信息或文档的可用性、可靠性、正确性或更新、升级等提供任何明示或默示的承诺或保证,镜像文件的下载和使用完全由您自主决定并自行承担风险,由此带来的任何损失,您同意在法律允许的范围内放弃追究我们的责任。

项目介绍

本项目用于将Docker HubGoogle Container RegistryQuay中常用的公共container image自动同步至AWS**区的ECR内,使AWS用户能更方便快捷的获取这些常见的容器镜像。
如果您是container image的权利人,不允许相关container image同步到AWS**区的ECR内,请发送邮件到[email protected]

Amazon ECR镜像路径

所有同步至ECR的镜像都放在048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn这一container registry内,ECR镜像路径规则如下

  • Docker Hub (目前只支持docker official images)
    • 原始镜像路径: [library/]repo:tag
    • ECR镜像路径: 048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/dockerhub/[library/]repo:tag
  • GCR
    • 原始镜像路径: gcr.io/namespace/repo:tag
    • ECR镜像路径: 048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/gcr/namespace/repo:tag
    • 原始镜像路径: k8s.gcr.io/repo:tag
    • ECR镜像路径: 048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/gcr/google_containers/repo:tag
  • Quay
    • 原始镜像路径: quay.io/namespace/repo:tag
    • ECR镜像路径: 048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/quay/namespace/repo:tag
  • Global ECR
    • 原始镜像路径: 602401143452.dkr.ecr.us-west-2.amazonaws.com/repo:tag
    • ECR镜像路径: 048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/amazonecr/repo:tag

海外镜像复制到ECR后的路径转换示例如下:

海外镜像 ECR镜像
nginx:1.17.9 048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/dockerhub/nginx:1.17.9
gcr.io/heptio-images/velero:v1.1.0 048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/gcr/heptio-images/velero:v1.1.0
k8s.gcr.io/cluster-autoscaler:v1.2.2 048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/gcr/google_containers/cluster-autoscaler:v1.2.2
quay.io/calico/node:v3.7.4 048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/quay/calico/node:v3.7.4
602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon-k8s-cni:v1.5.5 048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/amazonecr/amazon-k8s-cni:v1.5.5

使用方法

使用方法帮助文档

  1. 直接修改 kubernetes deployment yaml 文件中的 image 指向本项目 ECR 中相应镜像的路径。
  2. 不方便修改 image 路径,或者想自动替换所有 Kubernetes Pod 中 image 到相应 ECR 路径,可以使用Kubernetes的Mutating admission webhook 实现自动替换。点击查看示例
  3. 利用 Helm Charts 部署应用,并且chart template支持自定义Pod image,可以设置 chart 参数,指向本项目 ECR 中相应镜像的路径。点击查看示例
  4. 如果您的 kubernetes 集群直接使用 kubectl 部署,且kubectl版本在v1.14或以上,可以使用kustomize 将原始 image 路径指向指向本项目 ECR 中相应镜像的路径。点击查看示例
  5. 直接 修改 ECS/Fargate 的 task defition yaml 文件,用于部署 ECS/Fargate Service和Task。点击查看示例
  6. Docker 和 docker-compose, 直接修改文件中的 image 指向本项目 ECR 中相应镜像的路径。点击查看示例

增加新的容器镜像

已有镜像列表放在mirrored-images.txt。 如果您需要其他镜像, 请您编辑 required-images.txt ,这将会在您的GitHub账户中 fork 一个新的分支,之后您可以提交PR(pull request)。 后台管理员 Merge 您的PR会触发CodeBuild 去拉取 required-images.txt 中定义的镜像回 ECR库,拉取过程中,图标会变成in progress。 拉取完后,您可以看到图标从in progress变为passing

详细说明请参考增加新的容器镜像帮助文档

自动同步新镜像

required-images-daily.txt中的镜像,会自动同步指定image的新镜像,tag中包含alpha、beta的不同步。目前仅支持Docker Hub。

ECR登录/docker login

EKS、Kops on EC2用户可直接使用,无需 ECR登录/docker login。 对于docker用户,需要 ECR 登录/docker login 后才能使用。

  1. 确定你执行命令的 IAM user / IAM role 拥有下面权限:
[
    "ecr:GetDownloadUrlForLayer",
    "ecr:BatchGetImage",
    "ecr:GetAuthorizationToken",
    "ecr:BatchCheckLayerAvailability"
]
  1. 对于docker用户,执行 ECR 登录/docker login:
pip install awscli --upgrade --user
aws ecr get-login-password --region cn-northwest-1 | docker login --username AWS --password-stdin 048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn

如果AWS CLI版本低于v1.17.10,需运行以下脚本:

aws ecr get-login --region cn-northwest-1 --registry-ids 048912060910 --no-include-email | sh

您也可以使用ecr-credential-helper 完成登录。

container-mirror's People

Contributors

amarkfox avatar barbarum avatar duanshiqiang avatar guoxun19 avatar henry-zhang avatar iced-sun avatar ixora avatar jansony1 avatar kae-siew avatar kedefa avatar laolongju avatar leeeboo avatar liangruibupt avatar nowfox avatar pahud avatar reza-senacor avatar sesame437 avatar sishuiliunian avatar spaceooooo avatar stevensu1977 avatar stzu avatar superyhee avatar toreydai avatar tyyzqmf avatar walkley avatar wchengyen avatar ywyt738 avatar zenorewn avatar zxh326 avatar zxkane avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

container-mirror's Issues

Please add quay.io/bitnami/sealed-secrets-controller in mirrored container

we have to use sealed secrets in our project in TSP Cloud at AWS China.
This is the link to the Helm Chart for further information, just in case:
https://github.com/helm/charts/tree/master/stable/sealed-secrets

The image is not mirrored yet and the Pod failed in ImagePullBackOff state:

 Warning  Failed     16m (x4 over 17m)     kubelet, ip-<SUPPRESSED>.cn-north-1.compute.internal  Failed to pull image "048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/quay/bitnami/sealed-secrets-controller:v0.12.4": rpc error: code = Unknown desc = Error response from daemon: manifest for 048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/quay/bitnami/sealed-secrets-controller:v0.12.4 not found: manifest unknown: Requested image not found

Thank you in advance for a quick action

缺少ebs driver v1.4.0镜像,无法完成安装

缺少csi-resizer:v1.1.0和aws-ebs-csi-driver:v1.4.0
由于要测试eks升级,必须这个版本的ebs driver。麻烦将csi-resizer:v1.1.0和aws-ebs-csi-driver:v1.4.0同步到048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn

pull image error - docker login required

When I try to pull the image follow the example from EC2 in ZHY, it fails.
image: k8s.gcr.io/coredns:1.3.1

error message as blow.
6m9s Warning Failed pod/test-dcf996db6-5f855 Failed to pull image "048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/google-containers/coredns:1.3.1": rpc error: code = Unknown desc = Error response from daemon: pull access denied for 048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/google-containers/coredns, repository does not exist or may require 'docker login'

Add fluent/fluentd-kubernetes-daemonset:v1.1-debian-elasticsearch

We have a fluentd deamonset as log scraper to push our log entries into an ElasticSearch cluster.
For this purpose we use the following specialized/pre-configured docker image:
fluent/fluentd-kubernetes-daemonset:v1.1-debian-elasticsearch

Let us add this docker image to the mirrored images.

镜像地址

请问新拉取的镜像,下面的地址正确吗?
048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/gcr/arrikto/jupyter-kale:v0.5.0-47-g2427cc9
048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/gcr/arrikto/rok-tools:l0-release-v1.0-rc6

ingress-nginx related images broken

$ docker pull 048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/gcr/google_containers/ingress-nginx/controller:v1.2.1@sha256:5516d103a9c2ecc4f026efbd4b40662ce22dc1f824fb129ed121460aaa5c47f8
048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/gcr/google_containers/ingress-nginx/controller@sha256:5516d103a9c2ecc4f026efbd4b40662ce22dc1f824fb129ed121460aaa5c47f8: Pulling from gcr/google_containers/ingress-nginx/controller
455c02918c45: Pulling fs layer
def20be812d2: Pulling fs layer
ce5661884629: Pulling fs layer
678e424763a4: Waiting
7ead3e106685: Waiting
cd244451095b: Waiting
4f4fb700ef54: Waiting
f6ea01d28a17: Waiting
d3be42a364a9: Waiting
041e9420e258: Waiting
4bc068c20ea4: Waiting
b97555290c31: Waiting
8e7e86f147ef: Waiting
58079bced8cb: Waiting
6d2419008fa9: Waiting
error pulling image configuration: download failed after attempts=1: unknown blob

非latest对应的tag没有被更新,指向了老版本的镜像,同上游repo不一致

例如 golang1.14-alpine

docker pull 048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/dockerhub/golang:1.14-alpine
1.14-alpine: Pulling from dockerhub/golang
Digest: sha256:b0678825431fd5e27a211e0d7581d5f24cede6b4d25ac1411416fa8044fa6c51
Status: Downloaded newer image for 048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/dockerhub/golang:1.14-alpine
048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/dockerhub/golang:1.14-alpine

这个image的digest对应的其实是golang:1.14.2-alpine

image

在版本1.14.2之后,golang又有发布1.14.3, 1.14.4,在docker hub,1.14-alpine已经被更新到指向到当前最新的版本1.14.4-alpine
image
image

Deploy mutation webhook+API Gateway with CDK

需求背景

更方便地部署mutation webhook with AWS CDK, 參考 #31

  • CDK to deploy mutation webhook integration with a new Amazon EKS cluster
  • CDK to deploy mutation webhook integration with any existing Amazon EKS cluster

Add images to mirror

could you please add the following images to the mirror:

quay.io/digital_ecosystems/kubernetes-agent:1.3.0
quay.io/digital_ecosystems/mendix-operator:1.4.0
quay.io/digital_ecosystems/mx-m2ee-sidecar:1.3.0
quay.io/digital_ecosystems/mx-m2ee-metrics:1.1.0
quay.io/digital_ecosystems/image-builder:ingvar-rhel

Kops集群需要的VM AMI镜像在AWS全球有,但在AWS **北京和宁夏都没有

kubernetes 1.16, 1.17, 1.18 使用kops更新的时候需要对应的AMI列表:

    - name: kope.io/k8s-1.16-debian-stretch-amd64-hvm-ebs-2020-07-20
      providerID: aws
      kubernetesVersion: ">=1.16.0 <1.17.0"
    - name: kope.io/k8s-1.17-debian-stretch-amd64-hvm-ebs-2020-07-20
      providerID: aws
      kubernetesVersion: ">=1.17.0 <1.18.0"
    - name: 099720109477/ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-20200907
      providerID: aws
      kubernetesVersion: ">=1.18.0"

相关链接:
https://github.com/kubernetes/kops/blob/master/channels/stable#L47-L49
镜像AMI在aws 全球个region的id:
https://wiki.debian.org/Cloud/AmazonEC2Image/Stretch

simplify the deployment of Amazon EKS with customized mutation webhook

Background

我們需要最大程度簡化onboarding這套solution的體驗,用戶需求場景可能有:

  1. 無既有的EKS集群,希望起集群的時候自帶mutation webhook集成並且盡可能減少手動配置

  2. 已經有一個既有的EKS集群可能是console/eksctl/terraform/CDK等工具provision起來的,但不具有mutation webhook能力,需要單獨起一個mutation webhook跟這個集群對接

Solutions to Explore

One-Click SAR button

這部分 @walkley 的上游repo已經有了,我們需要在這個repo裡面寫一個簡單的中文walkthrough 指導怎麼操作,但這只能解決已有EKS集群的需求(上面第二點)

AWS CDK deployment

分成兩個場景:

  1. CDK一次起EKS+mutation webhook
  2. CDK指定既有的EKS cluster,單獨起mutation webhook

CDK的實作這部分參考 #26

kustomize sample

需要提供一個kustomize範例,例如

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  selector:
    matchLabels:
      run: my-nginx
  replicas: 2
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
      - name: my-nginx
        image: nginx:alpine
        ports:
        - containerPort: 80

如何透過kubectl kustomize生成指向新的image路徑的yaml

No cvallance/mongo-k8s-sidecar mirror  

hope to add cvallance/mongo-k8s-sidecar mirror

Warning Failed 13m (x6 over 14m) kubelet, ip-10-20-193-142.cn-northwest-1.compute.internal Error: ImagePullBackOff
Normal Pulling 13m (x4 over 14m) kubelet, ip-10-20-193-142.cn-northwest-1.compute.internal Pulling image "048912060910.dkr.ecr.cn-northwest-1.amazonaws.com.cn/dockerhub/cvallance/mongo-k8s-sidecar"

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.