一. 背景

使用docker或者k8s的过程中,我们可能遇到镜像无法下载的情况,例如:kubernetes的kube-apiserver镜像,这是因为其仓库在海外,我们的网络被墙,我发获取到该资源,使用合法的方式,成本又太高,今天小编来分享一个简单而又实用的海外镜像构建方法。

二. 实现原理

首先利用docker构建镜像的方式,定义海外镜像的Dockerfile,里面只需要编写“ FROM k8s.gcr.io/kube-apiserver:v1.20.3”

然后利用阿里云容器镜像服务,创建一个关联上代码仓库并且使用海外机器构建的仓库,这样阿里云就可以下载海外镜像到阿里云。

再然后,我们将刚刚在阿里云上构建的pull到本地,通过docker tag 的方式需改成我们需要的镜像。

三. 所需要的平台

所需要的平台有GitHub和阿里云。

四. 实现步骤

以下将以构建k8s.gcr.io/kube-apiserver:v1.20.3为例

  1. 创建kube-apiserver镜像的Dockerfile

  1. 使用阿里云的容器镜像服务创建一个仓库



4、设置构建规则并构建



  1. 完成海外镜像的下载



[root@kubernetes-master-01 ~]# docker pull registry.cn-qingdao.aliyuncs.com/alvinos/kube-apiserver:v1.20.3
v1.20.3: Pulling from alvinos/kube-apiserver
fefd475334af: Already exists
742efefc8a44: Already exists
3e9abf3317b1: Pull complete
Digest: sha256:4250b36e06a5083343f97b3097d3d647703f0e6b580373224ab846db7e18df3f
Status: Downloaded newer image for registry.cn-qingdao.aliyuncs.com/alvinos/kube-apiserver:v1.20.3
registry.cn-qingdao.aliyuncs.com/alvinos/kube-apiserver:v1.20.3
[root@kubernetes-master-01 ~]# docker tag registry.cn-qingdao.aliyuncs.com/alvinos/kube-apiserver:v1.20.3 k8s.gcr.io/kube-apiserver:v1.20.3
[root@kubernetes-master-01 ~]# docker images | grep k8s
k8s.gcr.io/kube-apiserver v1.20.3 2a2ba256a50b 4 months ago 122MB

到此构建海外镜像就结束了。

更多科技咨询,请关注微信公众号:山河编程

如果您觉得这个对您 有用,希望您能点赞,收藏加关注,谢谢啦!

如果您的朋友也需要,一起分享给他,咱们一起成长

卧槽,原来不需要FQ就可以构建海外镜像的更多相关文章

  1. 使用dockerfile构建nginx镜像 转

      docker构建镜像的方法:   commit.dockerfile 1.使用commit来构建镜像: commit是基于原有镜像基础上构建的镜像,使用此方法构建镜像的目的:保存镜像里的一些配置信 ...

  2. Docker构建YApi镜像, Docker安装YApi, Docker部署YApi

    概述 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发 ...

  3. 使用Jenkins pipeline流水线构建docker镜像和发布

    新建一个pipeline job 选择Pipeline任务,然后进入配置页面. 对于Pipeline, Definition选择 "Pipeline script from SCM" ...

  4. Docker:使用Jenkins构建Docker镜像

    Docker  彭东稳  1年前 (2016-12-27)  10709次浏览  已收录  0个评论 一.介绍Jenkins Jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从 ...

  5. springboot整合docker部署(两种构建Docker镜像方式)--2019-3-5转

    原文:https://www.cnblogs.com/shamo89/p/9201513.html 项目结构 package hello; import org.springframework.boo ...

  6. springboot整合docker部署(两种构建Docker镜像方式)

    项目结构 package hello; import org.springframework.boot.SpringApplication; import org.springframework.bo ...

  7. Docker | 第五章:构建自定义镜像

    前言 上一章节,主要是介绍了下Dockerfile的一些常用命令的说明.我们知道,利用Dockerfile可以构建一个新的镜像,比如运行Java环境,就需要一个JDK环境的镜像,但直接使用公共的镜像时 ...

  8. 使用dockerfile构建nginx镜像

    使用dockerfile构建nginx镜像 docker构建镜像的方法:   commit.dockerfile 1.使用commit来构建镜像: commit是基于原有镜像基础上构建的镜像,使用此方 ...

  9. 如何构建OpenStack镜像

    本文以制作CentOS7.2镜像为例,详细介绍手动制作OpenStack镜像详细步骤,解释每一步这么做的原因.镜像上传到OpenStack glance,支持以下几个功能: 支持密码注入功能(nova ...

随机推荐

  1. mybatis-plus还可以这样分表

    为什么要分表 Mysql是当前互联网系统中使用非常广泛的关系数据库,具有ACID的特性. 但是mysql的单表性能会受到表中数据量的限制,主要原因是B+树索引过大导致查询时索引无法全部加载到内存.读取 ...

  2. Python+Selenium自动化-清空输入框、输入内容、点击按钮

    Python+Selenium自动化-清空输入框.输入内容.点击按钮   1.输入内容 send_keys('valve'):输入内容valve #定位输入框 input_box = browser. ...

  3. Docker学习(2) 安装

    1 在Ubanru中安装 简单安装: 2 windows安装docker 3 OS X 安装docker

  4. Java设计模式(2:单一职责原则和依赖倒置原则详解)

    一.单一职责原则 不要存在多于一个导致类变更的原因.简单来说,就是一个Class/Interface/Method只负责一项职责. 这句话最为重要的就是这一段:一个Class/Interface/Me ...

  5. 车载智能HUD

    车载智能HUD 从 HUD 到行车记录仪再到后视镜,最近有不少团队都发布了自己的车载智能硬件. 什么是 HUD? HUD 全称抬头数字显示仪 (Heads Up Display),又叫平视显示系统,简 ...

  6. git介绍及使用

    一.架构 版本库(仓库):工作区中有一个隐藏目录.git,这个目录不属于工作区,而是git的版本库,是git管理的所有内容. 暂存区:版本库中包含一个临时区域,保存下一步要提交的文件. 分支:版本库中 ...

  7. Django(62)自定义认证类

    前言 如果我们不用使用drf那套认证规则,我们想自定义认证类,那么我们首先要知道,drf本身是如何定义认证规则的,也就是要查看它的源码是如何写的 源码分析 源码的入口在APIView.py文件下的di ...

  8. 【NX二次开发】Block UI 文本颜色/字体/宽度

    属性说明 常规     类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical 是否分 ...

  9. SpringCloud Alibaba实战(6:nacos-server服务搭建)

    源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 大家好,我是三分恶. 这一节我们来学习SpringCloud Alibaba体系中一 ...

  10. MQTT 协议是个啥?这篇文章告诉你!

    文章首发于我的公众号「程序员cxuan」,欢迎大家关注呀- 说到做到! 之前有位读者给我留言说想要了解一下什么是 MQTT 协议,顺便还把我夸了一把,有点不好意思啦. 那么读者的要求必须要满足啊,所以 ...