一. 背景

使用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. MySQL之数据查询语言(DQL)

    数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块: SELECT <字段> FROM <表名> WHERE <查询条件> - ...

  2. RabbitMQ(1)学习目标

    一:安装,专业术语,简单队列,工作队列,发布/订阅队列,路由队列,主题队列,RPC队列,事务,确认模式,SpringAMQP 二:什么是MQ? MQ就是消息队列,是一种进程间通信或同一进程的不同线程间 ...

  3. Python小白的数学建模课-A3.12 个新冠疫情数模竞赛赛题与点评

    新冠疫情深刻和全面地影响着社会和生活,已经成为数学建模竞赛的背景帝. 本文收集了与新冠疫情相关的的数学建模竞赛赛题,供大家参考,欢迎收藏关注. 『Python小白的数学建模课 @ Youcans』带你 ...

  4. CVPR2020论文解读:手绘草图卷积网络语义分割

    CVPR2020论文解读:手绘草图卷积网络语义分割 Sketch GCN: Semantic Sketch Segmentation with Graph Convolutional Networks ...

  5. NVIDIA深度学习Tensor Core性能解析(上)

    NVIDIA深度学习Tensor Core性能解析(上) 本篇将通过多项测试来考验Volta架构,利用各种深度学习框架来了解Tensor Core的性能. 很多时候,深度学习这样的新领域会让人难以理解 ...

  6. YOLOv4没交棒,但YOLOv5来了!

    YOLOv4没交棒,但YOLOv5来了! 前言 4月24日,YOLOv4来了! 5月30日,"YOLOv5"来了! 这里的 "YOLOv5" 是带有引号的,因为 ...

  7. Docker App应用

    Docker App应用 这是一个实验特性. 实验性功能提供了对未来产品功能的早期访问.这些特性仅用于测试和反馈,因为它们可能在没有警告的情况下在不同版本之间更改,或者可以从将来的版本中完全删除.在生 ...

  8. 保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事

    保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事 10 things to consider when securing an embedded 802.11 Wi-Fi device 随着 ...

  9. Python“九九乘法表”

    用Python语言编程,使用双重循环语句输出"九九乘法表". for i in range(1, 10): # 控制行 for j in range(1, i+1): # 控制列 ...

  10. Xshell6会话管理器无意中关闭,在哪里打开

    一.进入查看 二.勾选则弹出,然后双击窗口即可