使用阿里云镜像仓库构建国外 Docker 镜像
使用阿里云镜像仓库下载国外镜像
在日常使用 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 镜像的更多相关文章
- 设置阿里云镜像仓库并安装Docker
echo "设置阿里云镜像仓库" mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum ...
- Jib插件构建镜像push到阿里云镜像仓库
一.前言 Jib:Google开源的Java容器化工具 可作为插件快速集成到项目中,构建镜像,实现 Java 应用容器化 下面贴出一张从网上看到的Jib描述~ 二.利用Jib插件构建镜像push到阿里 ...
- 构建一个java环境的centos系统镜像并上传到阿里云镜像仓库
编辑dockerfile 文件 FROM centos MAINTAINER zhaoweifeng ENV LANG en_US.UTF-8 RUN /bin/cp /usr/share/zonei ...
- Docker通过阿里云镜像仓库使用Gitlab_CI部署SpringBoot项目
Docker.Gitlab.阿里云镜像仓库.SpringBoot的相关安装.搭建这里就不讲了. Linux 安装 Docker :https://www.cnblogs.com/linnuo/p/15 ...
- 通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署
在centos上安装docker # step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data l ...
- 两种github action 打包.Net Core 项目docker镜像推送到阿里云镜像仓库
两种github action 打包.Net Core 项目docker镜像推送到阿里云镜像仓库 1.GitHub Actions 是什么? 大家知道,持续集成由很多操作组成,比如抓取代码.运行测试. ...
- 使用镜像仓库托管自己构建的Docker镜像
自己构建的Docker镜像,默认存储在本机中,Docker有提供某些方式分享这些镜像,但不是主流的镜像分享方式,也有违于开源社区的共享精神. 本文介绍如何使用GitHub托管Dockerfile:使用 ...
- 构建自定义docker镜像,上传至docker hub
docker 优势 (外部参考) Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后 发布到任何流行的Linux机器上,便可以实现虚拟化.Docker改变了虚拟化的方 式,使 ...
- 宝塔面板 + Rancher + 阿里云镜像仓库 + Docker + Kubernetes,添加集群、部署 web 应用
目录 一,安装宝塔面板(V 6.8) 二,使用宝塔安装 Docker,配置阿里云容器服务 三,安装 Rancher (Server) 四,管理 Rancher.添加集群 五,添加 Rancher 应用 ...
随机推荐
- 关于Linux软连接和硬链接
(注:此文章仅为个人学习,研究,原创作者:iTech,原创文章网址:https://www.cnblogs.com/itech/archive/2009/04/10/1433052.html) 1.L ...
- Mongodb PHP封装类
分享一个Mongodb PHP封装类 <?php /** * Mongodb 基本操作API,支持基本类似关系统型数据库的操作接口 * * @version 1.0 * [说明] * * 1:该 ...
- jQurey轮播插件slides简单使用教程
动态演示地址: http://www.zqunyan.com/zgproduction/slidesjs/index.html 简介就不多说了,网上有很多,复制粘贴没意义,会想到用这个插件就代表已经了 ...
- 给Python IDLE添加行号显示
转载:https://blog.csdn.net/howard2005/article/details/104112297 文章目录一.引出问题1.Spyder编辑Python程序能显示行号2.Pyt ...
- Thymeleaf 异常:Exception processing template "index": An error happened during template parsing (template: "class path resource [templates/index.html]")
Spring Boot 项目,在 Spring Tool Suite 4, Version: 4.4.0.RELEASE 运行没有问题,将项目中的静态资源和页面复制到 IDEA 的项目中,除了 IDE ...
- HTML & CSS & JavaScript 从一个表格到一个灰阶颜色表 04
工具1:HBuilder X 1.9.9.20190522 工具2:火狐浏览器 67.0.4 (64 位) 目前,我们已经将一些行和列插入到表格中,并设置单元格的背景颜色,显示 RGB 值等. 例 7 ...
- Go 接口类型
接口作用 Go语言中的接口是一种类型,类似于Python中的抽象基类. Go语言中使用接口来体现多态,是duck-type的一种体现. 如,只要一个东西会叫,会走,那么我们就可以将它定义为一个动物的接 ...
- Flutter 开发从 0 到 1(三)布局与 ListView
上周日出去玩了,因此没时间写文章.我司加班到 11 点,第二天可以晚上班一个小时,加班到 12 点,可以晚上班两个小时,以此类推,为什么说这个,对的,加班第二天我没有多睡觉,而是起来抓紧时间写文章,好 ...
- Combine 框架,从0到1 —— 5.Combine 常用操作符
本文首发于 Ficow Shen's Blog,原文地址: Combine 框架,从0到1 -- 5.Combine 常用操作符. 内容概览 前言 print breakpoint handleEve ...
- RHSA-2018:0007-重要: 内核 安全更新(需要重启、存在EXP)
[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 修复命令: 使用root账号登陆She ...