专栏首页newbe36524的技术专栏docker-mcr 助您全速下载 dotnet 镜像
原创

docker-mcr 助您全速下载 dotnet 镜像

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 您可以运行以下命令:

cmd

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}

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

cmd

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

文章链接:https://www.newbe.pro/Others/Full-Speed-To-Download-Netcore-Docker-Images/index.html

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

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 朋友,您可能是MCR的受害者

    2018 年五月之后,微软将后续发布的所有 docker image 都推送到了 MCR (Miscrosoft Container Registry),但在中...

    newbe36524
  • .NET 基金会项目介绍-Steeltoe

    Steeltoe 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。

    newbe36524
  • .NET 基金会项目介绍-Windows Phone Toolkit

    Windows Phone Toolkit 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。

    newbe36524
  • 如何在windows 7 上使用docker

    但是我们可以通过安装docker toolbox来实现在windows7上使用docker.

    Vincent-yuan
  • Docker命令查询详解

    版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://b...

    shaonbean
  • Docker容器技术

    Docker介绍 什么是容器 Linux容器是与系统其他部分隔离开的一系列进程,从另一个系统镜像运行,并由该镜像提供支持进程所需的全部文件。 容器镜像包含了应用...

    863987322
  • CentOS7 安装 Docker(小白精简版)!!!

    本文主要参考 Docker 官方文档的安装为主,官方文档比较繁琐,而且是英文的,因此,我简化了安装的步骤,更适合小白安装。

    IT大飞说
  • Docker 小记 — Compose & Swarm

    捷义
  • Docker with Spring Boot

    前段时间在我厂卷爷的指导下将Docker在我的实际项目中落地,最近几个小demo都尽量熟悉docker的使用,希望通过这篇文章分享我截止目前的使用经验(如有不准...

    阿杜
  • Docker 入门到实战教程(二)安装Docker

    较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。

    小东啊

扫码关注云+社区

领取腾讯云代金券