2018 年五月之后,微软将后续发布的所有 docker image 都推送到了 MCR(Miscrosoft Container Registry),但在中国,它的速度实在很慢,有时根本下载不了,下面介绍使用使用 docker-mcr 下载。
MCR(Miscrosoft Container Registry) 加速器,助你在中国大陆急速下载 netcore 相关的 docker 镜像。
docker-mcr 是一个 dotnet core global tool,简单几步,便可以进行安装和使用。
进入 dotnet 页面,下载并安装 dotnet SDK:
dotnet download,https://dotnet.microsoft.com/zh-cn/download/dotnet
打开页面显示如下:

- 搜索
newbe.mcrmirror
dotnet tool search newbe.mcrmirror
输出信息:
PS C:\Users\jeff> dotnet tool search newbe.mcrmirror
包 ID 最新版本 作者 下载 已验证
-------------------------------------------------------------
newbe.mcrmirror 1.1.5 newbe36524 3235
PS C:\Users\jeff> dotnet tool -h
Description:
安装或使用扩展 .NET 体验的工具。
用法:
dotnet tool [command] [options]
选项:
-?, -h, --help 显示命令行帮助。
命令:
install <PACKAGE_ID> 安装全局或本地工具。本地工具将被添加到清单并还原。
uninstall <PACKAGE_ID> 卸载全局工具或本地工具。
update <PACKAGE_ID> 更新全局或本地工具。
list <PACKAGE_ID> 列出全局或本地安装的工具。
run <COMMAND_NAME> <toolArguments> 运行本地工具。请注意,此命令不能用于运行全局工具。
search <SEARCH_TERM> 在 nuget.org 中搜索 dotnet 工具
restore 还原本地工具清单中定义的工具。
- 安装
newbe.mcrmirror
dotnet tool install newbe.mcrmirror -g
如果您曾经安装过 newbe.mcrmirror,您需要使用以下命令来进行升级,确保最佳的体验。
dotnet tool update newbe.mcrmirror -g
- 执行命令,获取配置
config.json文件,包含了所有sdk路径和版本信息
docker-mcr -i mcr.microsoft.com
- 执行命令,拉取国内服务器上的镜像。
# xxx 根据镜像路径拉取镜像。
docker-mcr -i xxx
docker-mcr 加速的本质是镜像推送到了国内的服务器,目前在以下服务器均存在镜像:
- 阿里云
registry.cn-hangzhou.aliyuncs.com/newbe36524 - 腾讯云
ccr.ccs.tencentyun.com/mcr_newbe36524
以阿里云为例进行说明,假设需要拉取镜像
mcr.microsoft.com/dotnet/aspnet:8.0.14-noble
打开配置文件 config.json (全名称)搜索上面的镜像会找到以下节点:
{
"tag": "aspnet:8.0.14-noble",
"source": "mcr.microsoft.com/dotnet/aspnet:8.0.14-noble"
}
则说明在国内镜像的 tag 为 aspnet:8.0.14-noble,然后拼接上面的前缀,则得到地址 registry.cn-hangzhou.aliyuncs.com/newbe36524/aspnet:8.0.14-noble 信息。
对应 mcr 的镜像如下:
docker pull mcr.microsoft.com/dotnet/aspnet:8.0.14-noble

Github 项目地址:
Newbe.McrMirror,https://github.com/newbe36524/Newbe.McrMirror
转载声明: