热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

详解使用阿里云镜像仓库构建国外Docker镜像

这篇文章主要介绍了详解使用阿里云镜像仓库构建国外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镜像内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • 从用户转型为开发者:一场思维升级的旅程 | 专访 StarRocks Committer 周威
    从用户转变为开发者,不仅是一次角色的转换,更是一场深刻的思维升级之旅。本次专访中,StarRocks Committer 周威分享了他如何在这一过程中逐步提升技术能力与思维方式,为开源社区贡献自己的力量。 ... [详细]
  • 本文探讨了将PEBuilder转换为DIBooter.sh的方法,重点介绍了如何将DI工具集成到启动层,实现离线镜像引导安装。通过使用DD命令替代传统的grub-install工具,实现了GRUB的离线安装。此外,还详细解析了bootice工具的工作原理及其在该过程中的应用,确保系统在无网络环境下也能顺利引导和安装。 ... [详细]
  • Spring Boot与Redis的高效集成方案
    本文探讨了Spring Boot与Redis的高效集成方法,详细介绍了如何在Spring Boot项目中配置和使用Redis,以提升应用性能和数据处理能力。同时,文章还涉及了Go语言社区的相关资源,为Golang开发者提供了宝贵的技术交流平台。 ... [详细]
  • 前言: 网上搭建k8s的文章很多,但很多都无法按其说明在阿里云ecs服务器成功搭建,所以我就花了些时间基于自己成功搭建k8s的步骤写了个操作手册,希望对想搭建k8s环境的盆友有所帮 ... [详细]
  • 一键将应用部署至远程服务器,体验超乎想象的便捷与高效
    该插件作为IDEA的内置功能,用户可以直接启用,无需额外安装。通过简单的配置,即可实现应用的一键部署至远程服务器,极大地提升了开发效率和便捷性。插件支持镜像管理和容器管理,允许用户与容器进行交互,并且兼容Docker Compose,适用于复杂的多容器应用部署。总结部分详细介绍了插件的使用方法和优势,附带的参考资料和项目源码地址为用户提供更多学习和实践资源。 ... [详细]
  • 掌握 esrally 三步骤:高效执行 Elasticsearch 性能测试任务
    自从上次发布 esrally 教程已近两个月,期间不断有用户咨询使用过程中遇到的各种问题,尤其是由于测试数据托管在海外 AWS 上,导致下载速度极慢。为此,本文将详细介绍如何通过三个关键步骤高效执行 Elasticsearch 性能测试任务,帮助用户解决常见问题并提升测试效率。 ... [详细]
  • Redis哈希数据结构入门指南
    Redis的哈希数据结构与Java中的HashMap类似,采用数组加链表的方式实现。数组用于存储哈希值的位置,而链表则用于处理哈希冲突的情况。此外,Redis的哈希数据结构还支持高效的字段操作和内存优化,适用于多种应用场景,如缓存和会话管理。 ... [详细]
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • 在《Python编程基础》课程中,我们将深入探讨Python中的循环结构。通过详细解析for循环和while循环的语法与应用场景,帮助初学者掌握循环控制语句的核心概念和实际应用技巧。此外,还将介绍如何利用循环结构解决复杂问题,提高编程效率和代码可读性。 ... [详细]
  • 掌握PHP编程必备知识与技巧——全面教程在当今的PHP开发中,了解并运用最新的技术和最佳实践至关重要。本教程将详细介绍PHP编程的核心知识与实用技巧。首先,确保你正在使用PHP 5.3或更高版本,最好是最新版本,以充分利用其性能优化和新特性。此外,我们还将探讨代码结构、安全性和性能优化等方面的内容,帮助你成为一名更高效的PHP开发者。 ... [详细]
  • 在Kubernetes上部署多个Mitmproxy代理服务器以实现高效流量管理 ... [详细]
  • 本项目在Java Maven框架下,利用POI库实现了Excel数据的高效导入与导出功能。通过优化数据处理流程,提升了数据操作的性能和稳定性。项目已发布至GitHub,当前最新版本为0.0.5。该项目不仅适用于小型应用,也可扩展用于大型企业级系统,提供了灵活的数据管理解决方案。GitHub地址:https://github.com/83945105/holygrail,Maven坐标:`com.github.83945105:holygrail:0.0.5`。 ... [详细]
  • SpringBoot非官方教程|终章:文章汇总springboot非官方教程,可能最接近于官方的一个教程,大多数案例都来自于官方文档,为了更好的理解,加入了个人的改造。码云下载:htt ... [详细]
  • kubernetes 下实现socket.io 的集群模式
    2019独角兽企业重金招聘Python工程师标准socket.io单节点模式是很容易部署的,但是往往在生产环境一个节点不能满足业务需求,况且还要保 ... [详细]
  • { builder:{  gc:{   defaultKeepStorage:20GB,   enabled:true  } }, debug:true,  ... [详细]
author-avatar
blue薾孋
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有