zoukankan      html  css  js  c++  java
  • 2021年没有*服务器,怎么下载gcr.io镜像?

    背景

    部署 k8s 时经常遇到的难题:如何下载 gcr.io 的镜像?下面以 ingress-nginx:0.43.0 为例介绍踩过的坑及最终的解决办法。

    踩过的坑

    谷歌云

    注册谷歌云账户,通过控制台下载 ingress-nginx:0.43.0 镜像,重命名后上传回国内的镜像仓库,以供使用。
    亲测上传一个 282 MB 的镜像,阿里云镜像仓库,腾讯镜像仓库,一个小时还未上传完成,放弃。
    于是注册 hub.docker.com 上传到 hub.docker.com,速度很快,本机从 hub.docker.com 拉取镜像,又是二十分钟还未完成,放弃。

    阿里云代理仓库

    阿里云代理仓库地址为:registry.aliyuncs.com/google_containers
    很多新的镜像都没有,猜测是不维护了,放弃。

    解决方法

    后来在阿里云镜像仓库那里看到一个海外构建的选项,于是尝试以下方法:

    github

    在 github 创建一个 repository,创建好 git clone 到本地,在本地创建所需下载镜像的 Dockerfile,本地目录的层级可以是:镜像名 --> 版本号 --> Dockerfile 。创建后上传到 github,这是我的github地址 ,参考如下截图:

    打开 ingress-nginx 的 Dockerfile

    FROM k8s.gcr.io/ingress-nginx/controller:v0.43.0
    MAINTAINER liyi
    

    看到这里应该差不多明白了,就是让阿里云镜像仓库去帮我们下载这个镜像。

    阿里云镜像

    创建镜像仓库

    选择镜像构建所依赖的在github仓库
    切记勾上 海外机器构建

    添加构建规则

    点击立即构建

    等一会镜像就构建成功了,可以看到日志:

    docker image building is started ...
    [ fetch stage begin.]
    fetch dockerfile and context
    Cloning into '/user_data/1351706646383462/GIT_HUB/fsckzy-quayio'...
    [fetch successfully.]
    ==========================================
    ......
    ==========================================
    [docker build stage begin.]
    Sending build context to Docker daemon 2.048kB
    Step 1/2 : FROM k8s.gcr.io/ingress-nginx/controller:v0.43.0
    v0.43.0: Pulling from ingress-nginx/controller
    801bfaa63ef2: Already exists
    ebc605c8c477: Pulling fs layer
    ......
    ...
    ad50de7c1a14: Pull complete
    Digest: sha256:9bba603b99bf25f6d117cf1235b6598c16033ad027b143c90fa5b3cc583c5713
    Status: Downloaded newer image for k8s.gcr.io/ingress-nginx/controller:v0.43.0
    ---> 38dca1cbd231
    Step 2/2 : MAINTAINER liyi
    ---> Running in 7a3ef71d3191
    Removing intermediate container 7a3ef71d3191
    ---> 1feb7033bf16
    Successfully built 1feb7033bf16
    Successfully tagged registry.cn-hangzhou.aliyuncs.com/smy-repo/ingress-nginx:0.43.0
    [ build successfully.]
    ==========================================
    [push stage begin.]
    

    本机下载该镜像,再重命名即可

    docker pull registry.cn-hangzhou.aliyuncs.com/smy-repo/ingress-nginx:0.43.0
    
  • 相关阅读:
    @终极解密输入网址按回车到底发生了什么
    jgitflow-maven-plugin报错:The authenticity of host can't be established.
    java log4j2日志行号不显示问题
    Prometheus监控之grafana常用模板编号记录
    DM数据守护
    使用IntelliJ IDEA 配置Maven(入门)
    IntelliJ IDEA lombok插件的安装和使用
    idea svn连接https报错问题: E230001: Server SSL certificate verification failed: certificate issued
    SVN安装后,右键不显示SVN菜单项
    IntelliJ IDEA怎么配置svn,集成svn方法
  • 原文地址:https://www.cnblogs.com/fsckzy/p/14334175.html
Copyright © 2011-2022 走看看