使用阿里云镜像仓库下载国外镜像

在日常使用 Docker 或 K8S 的过程中,经常会需要到国外的网站中下载镜像,但是有些网站在国内是无法访问的。对于这个问题可以使用阿里云提供的镜像仓库进行下载,然后 pull 到本地并修改 tag 来实现。

例如在使用 K8S 部署 Istio 时,需要下载 gcr.io/istio-testing/install-cni:1.5-dev 镜像,可以根据如下步骤在阿里云中进行构建和下载:

一、配置 Github

  • 首先登录 Github 中创建一个用于构建镜像的 repository,例如命名为 image-build

  • 在电脑本地中创建一个文件夹,例如命名为 dockerImage

  • 进入 dockerImage 目录,将 Github 中的 repository clone 到本地

https://github.com/CoderX-Aaron/image-build.git
  • clone 完成后,进入 image-build 目录,创建一个名为 install-cni 的 Dockerfile 文件,内容如下:
FROM gcr.io/istio-testing/install-cni:1.5-dev
  • 将刚才创建的 Dockerfile 文件提交到 git 中并指定分支名称为 master (根据 Github 中创建 repository 时默认的第一个分支名称来修改)
git add install-cni
git commit -m "Create Dockerfile to build install-cni image"
git branch -M master
  • 将 git 中的内容 push 到 Github 上面:
git push -u origin master

二、配置阿里云

在阿里云中配置镜像仓库和构建的步骤如下:

  • 登录阿里云控制台,进入容器镜像服务

  • 在左侧选项卡中点击代码源,绑定 Github 账号

  • 绑定完成后,在左侧选项卡中点击镜像仓库,开始创建命名空间、仓库名称和摘要信息,点击下一步

  • 在代码源中选择 Github,命名空间选择 CoderX-Aaron (也就是 Github 的 username),仓库选择 image-build。在下面的构建设置中勾选海外机器构建,然后点击创建镜像仓库

  • 创建仓库完成后,点击管理仓库,并在左侧选项卡中选择构建。首先在构建规则中设置新的构建规则,需要注意 Dockerfile 目录的路径和文件名称,要和 Github 中保持一致

  • 创建构建规则后,点击对应规则后面的 "立即构建" 按钮,即可开始镜像的构建。

三、拉取镜像

镜像构建成功后,即可在 "镜像版本" 选项卡中看到构建好的镜像,接下来将镜像 pull 到本地,步骤如下:

  • 首先在本地机器中命令行中登录阿里云镜像仓库,用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
docker login --username=username registry.cn-hangzhou.aliyuncs.com
  • 从 Registry 中拉取镜像到本地
docker pull registry.cn-hangzhou.aliyuncs.com/ops-docker/istio:v1
  • 修改镜像的 tag
docker tag registry.cn-hangzhou.aliyuncs.com/ops-docker/istio:v1 gcr.io/istio-testing/install-cni:1.5-dev

这样即可完成对 install-cni 镜像的下载,将 K8S 中的拉取镜像策略修改为 IfNotPresent 或者 Never即可。

四、将镜像 Push 到阿里云

将本地镜像 Push 到阿里云,首先需要将本地镜像的 tag 进行修改:

docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/ops-docker/istio:[镜像版本号]

接下来 Push 镜像:

docker push registry.cn-hangzhou.aliyuncs.com/ops-docker/istio:[镜像版本号]

使用阿里云镜像仓库构建国外 Docker 镜像的更多相关文章

  1. 设置阿里云镜像仓库并安装Docker

    echo "设置阿里云镜像仓库" mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum ...

  2. Jib插件构建镜像push到阿里云镜像仓库

    一.前言 Jib:Google开源的Java容器化工具 可作为插件快速集成到项目中,构建镜像,实现 Java 应用容器化 下面贴出一张从网上看到的Jib描述~ 二.利用Jib插件构建镜像push到阿里 ...

  3. 构建一个java环境的centos系统镜像并上传到阿里云镜像仓库

    编辑dockerfile 文件 FROM centos MAINTAINER zhaoweifeng ENV LANG en_US.UTF-8 RUN /bin/cp /usr/share/zonei ...

  4. Docker通过阿里云镜像仓库使用Gitlab_CI部署SpringBoot项目

    Docker.Gitlab.阿里云镜像仓库.SpringBoot的相关安装.搭建这里就不讲了. Linux 安装 Docker :https://www.cnblogs.com/linnuo/p/15 ...

  5. 通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

    在centos上安装docker # step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data l ...

  6. 两种github action 打包.Net Core 项目docker镜像推送到阿里云镜像仓库

    两种github action 打包.Net Core 项目docker镜像推送到阿里云镜像仓库 1.GitHub Actions 是什么? 大家知道,持续集成由很多操作组成,比如抓取代码.运行测试. ...

  7. 使用镜像仓库托管自己构建的Docker镜像

    自己构建的Docker镜像,默认存储在本机中,Docker有提供某些方式分享这些镜像,但不是主流的镜像分享方式,也有违于开源社区的共享精神. 本文介绍如何使用GitHub托管Dockerfile:使用 ...

  8. 构建自定义docker镜像,上传至docker hub

    docker 优势 (外部参考) Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后 发布到任何流行的Linux机器上,便可以实现虚拟化.Docker改变了虚拟化的方 式,使 ...

  9. 宝塔面板 + Rancher + 阿里云镜像仓库 + Docker + Kubernetes,添加集群、部署 web 应用

    目录 一,安装宝塔面板(V 6.8) 二,使用宝塔安装 Docker,配置阿里云容器服务 三,安装 Rancher (Server) 四,管理 Rancher.添加集群 五,添加 Rancher 应用 ...

随机推荐

  1. PHP图片压缩类,高清无损直接用就ok啦

    这个不完全是我自己写的-_-!,但是好用呀 <?php /** * Created by PhpStorm. * Note:文件介绍 * User: Lynly * Date: 2018/11/ ...

  2. linux操作系统网卡漂移导致网络不可用

    1.故障描述 公司有100-150台服务器安装RHEL7.4&中标麒麟7.4系统,为方便编辑配置网卡,使用脚本方式配置为biosname=0,ifname=0,目的是为将en1o2p此类长字符 ...

  3. VARCHART XGantt如何计算截止日期

    甘特图从1998年的第一个商用版本开始就致力于计划编制和项目管理方面控件的研究和开发,经过20多年的积累和沉淀,目前可为软件开发商和最终用户提供最顶级的计划编制和项目管理的控件产品,帮助用户快速的整合 ...

  4. Java学习day04

    day04-课堂笔记 1.运算符[剩下的运算符] * 赋值运算符 两种类型: 基本赋值运算符:= 扩展的赋值运算符: += -= *= /= %= 它们都是先执行等号右边的表达式,最后再经过运算赋值给 ...

  5. MATLAB中conv2的详细用法 (以及【matlab知识补充】conv2、filter2、imfilter函数原理)

    转载: 1.https://blog.csdn.net/jinv5/article/details/52874880 2.https://blog.csdn.net/majinlei121/artic ...

  6. 【题解】[ZJOI2009]假期的宿舍

    \(\color{red}{Link}\) \(\text{Solution:}\) 把人和床看成点,问题转化为二分图. 于是,对于每一个在校生,我们建立出他的床点:然后对于每一个在校生,他们自己可以 ...

  7. 在阿里云上搭建私有GIT仓库

    在阿里云上搭建私有GIT仓库 年轻人就得好好学习,不能这么颓废 最近做项目练练手,用到了github, 但是github访问速度是真的慢啊,下载项目,下载一天了.所以呢,我是个成熟的人了,只好自己搭建 ...

  8. 基于空镜像scratch创建一个新的Docker镜像

    我们在使用Dockerfile构建docker镜像时,一种方式是使用官方预先配置好的容器镜像.优点是我们不用从头开始构建,节省了很多工作量,但付出的代价是需要下载很大的镜像包. 比如我机器上docke ...

  9. linux的pci驱动模型

    做个笔记 linux通过pcibios_scan_root函数以深度优先的算法搜索整个pci架构,建立一个树形的链表,如下: 之后再调用pci_bus_add_devices函数把所有搜索到的pci_ ...

  10. nginx的脚本引擎(一)

    nginx的脚本的语法和shell是很像的,我大致看了一下觉得挺有意思的,就想写写记录一下.我没看过shell脚本的引擎,不知道nginx脚本引擎和shell脚本引擎像不像,但是我觉得nginx的脚本 ...