2018 年五月之后,微软将后续发布的所有 docker image 都推送到了 MCR (Miscrosoft Container Registry),但在中国大陆,它的速度实在是令人发指,本文将介绍一种方法来解决这个问题。

如何使用

下载方式

存在至少三种方法进行加速:

  • 使用 docker-mcr (推荐)
  • 拉取国内服务器上的镜像
  • 使用 DockerHub 加速器

注意,无论采用什么方式,请先确保本地的 docker 已经正常可用。

使用 docker-mcr

docker-mcr 是一个 dotnet core global tool,简单几步,便可以进行安装和使用。

进入dotnet页面,下载并安装 netcore 3.1 SDK

安装完毕后打开控制台运行以下命令:

dotnet tool install newbe.mcrmirror -g

现在,假如需要拉取 mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim ,则运行以下命令:

docker-mcr -i mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim

等待完成之后,便可以在本地看到已经拉取完毕的镜像。

当然,还有更多操作:

下载多个镜像。:

docker-mcr --image mcr.microsoft.com/dotnet/core/sdk:3.1,mcr.microsoft.com/dotnet/core/runtime:3.1

从腾讯云下载:

docker-mcr --mirror-host tencentyun --image mcr.microsoft.com/dotnet/core/sdk:3.1

从自定义的服务器下载:

docker-mcr --mirror-host registry.cn-hangzhou.aliyuncs.com --image mcr.microsoft.com/dotnet/core/sdk:3.1 --mirror-namespace newbe36524

如果您曾经安装过 newbe.mcrmirror ,您需要使用以下命令来进行升级,确保最佳的体验。

dotnet tool update newbe.mcrmirror -g

拉取国内服务器上的镜像

加速的本质是因为我将镜像推送到了国内的服务器,目前在以下服务器均存在镜像:

  • 阿里云 registry.cn-hangzhou.aliyuncs.com/newbe36524
  • 腾讯云 ccr.ccs.tencentyun.com/mcr_newbe36524

以下以阿里云为例进行说明,假设需要拉取 aspnet:3.1-buster-slim

则拼接上面的前缀,则得到地址 registry.cn-hangzhou.aliyuncs.com/newbe36524/aspnet:3.1-buster-slim

然后,为了不修改默认的 Dockerfile 您可以运行以下命令:

 
docker pull registry.cn-hangzhou.aliyuncs.com/newbe36524/aspnet:3.1-buster-slim
docker tag newbe36524/aspnet:3.1-buster-slim mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim

这样你就成功的在本地得到了 mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim 镜像。

当然,你也可以直接把 registry.cn-hangzhou.aliyuncs.com/newbe36524/aspnet:3.1-buster-slim 写入到你的 Docker file 中。

使用 DockerHub 加速器

我也将镜像推送到了 dockerhub ,所以正常来说,在中国大陆使用 dockerhub 加速器也可以达到加速的效果。

规则,mcr.microsoft.com/dotnet/core/{name}:{tag} -> newbe36524/{name}:{tag}

例如,您可以运行以下命令:

docker pull newbe36524/aspnet:3.1-buster-slim
docker tag newbe36524/aspnet:3.1-buster-slim mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim

这样你就成功的在本地得到了 mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim 镜像。

当然,你也可以直接把 newbe36524/aspnet:3.1-buster-slim 写入到你的 Docker file 中。

在此之前,请确保你正确配置了本地的加速器。

起因经过

将微软发布在 MCR 上的镜像同步到 DockerHub 上,以加速中国大陆的下载速度。

正如我们所知,微软在2018年五月之后,只会将相关镜像打包发布到 MCR 上。

但是,在中国大陆从 MCR 上拉取镜像简直慢得让人发指。

MCR 团队已经决定尝试一些方案为此提速,相关的讨论罗列在这个issue中。我也将会持续跟踪这个issue。

代码仓库

docker-mcr 以及 Github Action 相关的代码都在以下仓库中,如果您在使用中遇到了任何问题,可以通过 issue 进行反馈:

最后,但是最重要

最近作者正在构建以反应式Actor模式事件溯源为理论基础的一套服务端开发框架。希望为开发者提供能够便于开发出“分布式”、“可水平扩展”、“可测试性高”的应用系统——Newbe.Claptrap

此次的加速工具实际上是笔者在编写样例时遇到下载困难时编写的工具。

本篇文章是该框架的一篇技术选文,属于技术构成的一部分。如果读者对该内容感兴趣,欢迎转发、评论、收藏文章以及项目。您的支持是促进项目成功的关键。

当前项目已经快要发布 0.2 alpha 版本,欢迎参与讨论。

GitHub 项目地址:https://github.com/newbe36524/Newbe.Claptrap

Gitee 项目地址:https://gitee.com/yks/Newbe.Claptrap

来源: newbe
文章作者: newbe36524
本文章著作权归作者所有,任何形式的转载都请注明出处。

docker-mcr 助您全速下载 dotnet 镜像的更多相关文章

  1. 安装Docker和下载images镜像和常用Docker命令

    我的是centos7,也会6的方法: $sudo yum install docker 直接yum安装contos7使用centos6.5先获取epel源并 启动Docker,并注册开机服务 [roo ...

  2. docker之常用命令、自定制镜像、公(私)仓库的上传和下载

    一.docker命令 1.参数和命令汇总 1. 参数 Options: --config=~/.docker Location of client config files #客户端配置文件的位置 - ...

  3. docker 下载安装镜像

    docker安装成功后. 1.搜索镜像 # docker search java 可使用 docker search命令搜索存放在 Docker Hub(这是docker官方提供的存放所有docker ...

  4. Docker操作笔记(一)使用镜像

    使用镜像 一)获取镜像 从Docker镜像仓库获取命令的格式是: docker pull [选项] [Docker Registry 地址[:端口号]] 仓库名[:标签] 具体的选项可以通过docke ...

  5. Docker实战(六)之使用Dockerfile创建镜像

    Dockervile是一个文本格式的配置文件,用户可以使用Dockerfile来快速创建自定义镜像. 1.基本结构 Dockerfile由一行行命令语句组成,并且支持以#开头的注释行. 一般而言,Do ...

  6. Docker系列02: 容器生命周期管理 镜像&容器

    A) Docker信息1. 查看docker运行状态 systemctl status docker docker.service - Docker Application Container Eng ...

  7. 【docker】【mysql】docker安装mysql,阿里云docker镜像加速器,docker搜索查看远程仓库上的镜像,docker拉取镜像,查看本地所有镜像,查看容器的运行状况,查看容器的详细信息

    在docker上安装mysql有两种方式 1.通过Dockerfile构建 2.直接在docker hub上拉取镜像安装 =================本篇采用方法2=============== ...

  8. k8s1.4.3安装实践记录(3)下载基础镜像

    下载基础镜像,因为Google被墙,所以我们用时速云中的镜像来tag docker pull index.tenxcloud.com/google_containers/pause-amd64:3.0 ...

  9. docker 部署disconf 以及将其做成镜像

    1.需要一台服务器(阿里云,腾讯云.实体服务器都行,本次是以实体服务器为依照做的) 2.安装docker   https://www.cnblogs.com/shijunjie/p/10436293. ...

随机推荐

  1. 树莓派安装pip3以及扩展包的方法

    树莓派上有的时候需要安装一些python额外的包,但上面没有安装pip3,因此需要动手去安装pip3,之后用来安装拓展包. 1.首先安装setuptools cd /usr/local/src/ su ...

  2. Oracle 中同义词使用

    一.数据库对象: 模式对象: 数据库对象是逻辑结构的集合,最基本的数据库对象是表; 其他对象包括:create增.drop删.改alter 同义词.序列.视图.索引 1.同义词: ①. 现有对象的一个 ...

  3. MarkDown语法使用(效果版本)

    function syntaxHighlighting() { var n = 33; var s = "hello, こんにちは"; console.log(s); } plai ...

  4. Xmind写测试点

    引入: 既然我们这篇要说<Xmind写测试点>,那么先来回顾一下,什么情况下才写测试点,而不写测试用例. 之前写过一篇<测试用例-20问20答>,没看过的朋友戳这里:,其中就有 ...

  5. ES[7.6.x]学习笔记(十二)高亮 和 搜索建议

    ES当中大部分的内容都已经学习完了,今天呢算是对前面内容的查漏补缺,把ES中非常实用的功能整理一下,在以后的项目开发中,这些功能肯定是对你的项目加分的,我们来看看吧. 高亮 高亮在搜索功能中是十分重要 ...

  6. Sping源码+Redis+Nginx+MySQL等七篇实战技术文档,阿里大佬推荐

    JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的. 引入 ...

  7. 善意的投票&小M的作物 题解

    善意的投票: 因为只有\(2\)种意愿,不妨让想睡午觉的和源点连边,让不想睡午觉的和汇点连边.对于每一对好朋友,在他们之间连边.那么只要源点和汇点还联通,就存在一对好友是冲突的,我们现在要做的就是删去 ...

  8. Rocket - tilelink - CrossingHelper

    https://mp.weixin.qq.com/s/y432EkLcBvVn2u_U3tPWeA   简单介绍CrossingHelper的实现.   ​​   1. 基本介绍   为节点生成一个跨 ...

  9. ES6背记手册

    ES6规范 阮一峰的ES6在线教程 在线图书--Exploring ES6 ES6 tutorials babel在线教程--https://babeljs.io/docs/en/learn.html ...

  10. Linux (四) 基础命令 下

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.查看文件内容 1.命令  cat 对应单词:concatenate 作用:查看文件内容 常用参数: ...