今天在教同事Docker简单部署Asp.Net Core项目,pull镜像时突然出现下图中的错误:

因为微软在 2018 年五月之后,只会将相关镜像打包发布到 MCR 上。但是 MCR 对国内用户不太友好,以前只是慢点就忍了,现在直接超时就不能忍了。

在网上找了各种解决办法,有配置镜像加速器的,有改DNS地址的,统统不管用。

后面找到了下面两种方法,亲测可用。

一、使用 docker-mcr

docker-mcr是一位爱心人士做的加速器,打包成了dotnet工具,使用起来非常方便。

1、服务器安装了.net core3.1 sdk

我的服务器是Centos,下面附上安装命令:

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

sudo yum install dotnet-sdk-3.1

2、安装docker-mcr工具:

dotnet tool install newbe.mcrmirror -g

3、拉取镜像

docker-mcr工具使用起来也非常简单:docker-mcr -i 镜像仓库:版本,例如要拉取 mcr.microsoft.com/dotnet/aspnet:3.1

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

二、通过阿里云容器镜像服务构建自己的镜像库

这种方法要比第一种方法稍微复杂一点。

1、在自己的Github新建一个仓库存放Dockerfile文件。

可以参考:https://github.com/dotnetboy/mcr-images

2、在阿里云开容器镜像服务,个人实例。

3、进到个人实例 — 镜像仓库 — 创建镜像仓库 — 绑定代码源(github)

4、进入镜像仓库 — 点击左边的构建 — 添加构建规则 — 立即构建





不出意外,等待30s左右后就会构建成功。

这个时候,你就可以去你自己的仓库地址拉取代码了。

这种方法虽然有点麻烦,但毕竟是自己的用着也放心一点。

.Net Core:Docker无法拉取mcr.microsoft.com相关镜像解决办法的更多相关文章

  1. Git 无法拉取,Unlink of file '.git/objects/pack/pack-***.pack' failed. Should I try again? (y/n)

    现象 Git 无法拉取,提示: Unlink of file '.git/objects/pack/pack-***.pack' failed. Should I try again? (y/n) 原 ...

  2. 还在因为部署 Kubernetes 时,无法拉取 k8s.gcr.io/*** 镜像而头疼吗

    拉取外网 Kubernetes 镜像 还在因为部署 Kubernetes 时,无法拉取 k8s.gcr.io/*** 镜像而头疼吗? 传送门 https://github.com/liamhao/pu ...

  3. 使用git pull拉取代码的时候,无法拉取最新代码,报"unable to update local ref"错误。

    使用git pull拉取代码的时候,无法拉取最新代码,报"unable to update local ref"错误. 除了重新clone一份代码外,还可以使用如下解决方案: .切 ...

  4. git 无法拉取最新代码

    删除本地文件后,想从远程仓库中重新新Pull最新代码,但是执行了git pull origin develop 命令后始终无法拉取下来 提示 Already up-to-date. 原因:当前本地库处 ...

  5. [转]SSAS没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG)) (Microsoft Visual Studio)的解决办法

    转自:http://www.cnblogs.com/xvqm00/archive/2011/07/15/2107338.html 打开SSAS 数据源视图浏览数据时,提示 没有注册类别 (异常来自 H ...

  6. Docker下构建centos7容器无法使用systemctl命令的解决办法

    最近在使用docker 构建centos7 容器时,发现无法使用systemctl 命令.后来万能的百度解决了问题,随记之以备后用. 解决办法: docker run --privileged -it ...

  7. Spring Boot连接MySQL长时间不连接后报错`com.mysql.cj.core.exceptions.ConnectionIsClosedException: No operations allowed after connection closed.`的解决办法

    报错:com.mysql.cj.core.exceptions.ConnectionIsClosedException: No operations allowed after connection ...

  8. git 无法拉取新的远程分支

    我们常常会根据远程分支创建本地分支,命令如下 git checkout -b dev origin/dev 上面的命令我是想把远程分支 dev 拉到本地来,但是有时候没有用,提示远程分支不存在,我们需 ...

  9. 解决因为本地代码和远程代码冲突,导致git pull无法拉取远程代码的问题

    一.问题 当本地代码和远程代码有冲突的时候,执行git pull操作的时候,会提示有冲突,然后直接终止本次pull,查了些资料没有找到强制pull的方式,但是可以使用如下方式解决. 二.解决思路 可以 ...

随机推荐

  1. FoveaBox:细节差别,另一种DenseBox+FPN的Anchor-free方案 | IEEE TIP 2020

    作为与FCOS和FSAF同期的Anchor-free论文,FoveaBox在整体结构上也是基于DenseBox加FPN的策略,主要差别在于FoveaBox只使用目标中心区域进行预测且回归预测的是归一化 ...

  2. JZ-029-最小的 K 个数

    标题 最小的 K 个数 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4. 题目链接: 最小的 K 个数 代码 import ja ...

  3. 矩池云上TensorBoard/TensorBoardX配置说明

    Tensorflow用户使用TensorBoard 矩池云现在为带有Tensorflow的镜像默认开启了6006端口,那么只需要在租用后使用命令启动即可 tensorboard --logdir lo ...

  4. Angular + asp.net core 入门

    一.简介 通俗的理解,Angular 只是一个前端框架,它只负责前端的事,但一个完整的项目还应该有后端,这其中之一可选的技术就是 asp.net core .这里简单学习一下两个框架之间的协同开发. ...

  5. supervisor启动报错

    supervisor 启动失败报错 Error: Another program is already listening on a port that one of our HTTP servers ...

  6. Redis安装——windows版

    下载地址   : https://github.com/MicrosoftArchive/redis/releases/tag/win-3.2.100 双击进行安装,然后将安装目录配置到环境变量里,打 ...

  7. 一比一还原axios源码(零)—— 概要

    从vue2版本开始,vue-resource就不再被vue所维护和支持,官方也推荐使用axios,所以,从我使用axios至今,差不多有四五年了,这四五年的时间只能算是熟练应用,很多内部的实现和原理不 ...

  8. CentOS 7.5关闭FireWall 和SELinux图文详解

    CentOS 7.5关闭FireWall 和SELinux图文详解 1. 环境 CentOS 7.5 2. 关闭FireWall和SELinux 2.1 FireWall 使用systemctl st ...

  9. BSOJ6387题解

    算是刷新了我对树上问题的认知 首先第一问随便做一个 \(O(nk)\) 的 DP 就可以草过去,考虑第二问. 我们将问题分为两个部分:走儿子边的答案和走父亲边的答案.最后拼接一下就好了. 设 \(fd ...

  10. SP1480题解

    <四重计树法> 有标号无根 prufer 序列,\(n^{n-2}\). 有标号有根 prufer 序列,\(n^{n-1}\). 无标号有根 设 \(f[n]\) 为 \(n\) 个节点 ...