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

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

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

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

一、使用 docker-mcr

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

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

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

  1. sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
  2. sudo yum install dotnet-sdk-3.1

2、安装docker-mcr工具:

  1. dotnet tool install newbe.mcrmirror -g

3、拉取镜像

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

  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. gvim 配置vimrc

    ##################################################################### normal setup################## ...

  2. WPF页面后台代码InitializeComponent()报错

    InitializeComponent(); 报错: 查看对应的前台xaml文件中,主标签中是否缺失引用: x:class="命名空间.类名"

  3. FlinkX

    FlinkX的安装与简单使用 目录 FlinkX的安装与简单使用 FlinkX的安装 FlinkX的简单使用 MySQLToHDFS MySQLToHive MySQLToHBase MySQLToM ...

  4. 在矩池云上复现 CVPR 2018 LearningToCompare_FSL 环境

    这是 CVPR 2018 的一篇少样本学习论文:Learning to Compare: Relation Network for Few-Shot Learning 源码地址:https://git ...

  5. 二级py--day1

    1.py基础篇 解释:因为在python语言中存在一个不确定尾数问题. 因为浮点数是以二进制形式储存在计算机内部的,受限于宽度,二进制数并不完全等于其浮点数本身,只能说接近.所以0.1+0.2==0. ...

  6. Laravel自定义错误提示,自定义异常类提示,自定义错误返回信息,自定义错误页面

    方法一 新增CustomException.php文件 App\Exceptions\CustomException.php <?php namespace App\Exceptions; us ...

  7. 最小生成树MST算法(Prim、Kruskal)

    最小生成树MST(Minimum Spanning Tree) (1)概念 一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边,所谓一个 ...

  8. Ansible的原理与配置

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 Ansible原理 Ansible 是一款开源自动化平台.它是一种简单的自动化语言,能够在Ansible Playbook 中完美地描述 IT 应 ...

  9. pygame坦克大战前夕

    最近想自己写pygame版的坦克大战,今晚已经完成如下功能: 1,我方坦克,可手动移动:敌方坦克,自动转方向与移动 2,坦克颜色随机,坦克形态大小可调. 3,双方坦克速度可调. 4,刷新坦克的位置随机 ...

  10. web服务器-Nginx URL重写

    web服务器-Nginx URL重写 一. URL重写介绍 和apache等web服务软件一样,rewrite的主要功能是实现URL地址的重定向.Nginx的rewrite功能需要PCRE软件的支持, ...