.Net Core:Docker无法拉取mcr.microsoft.com相关镜像解决办法
2024-10-19 21:19:10
今天在教同事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左右后就会构建成功。
这个时候,你就可以去你自己的仓库地址拉取代码了。
这种方法虽然有点麻烦,但毕竟是自己的用着也放心一点。
最新文章
- C++关于Condition Variable
- 优化 UltraEdit 打开大文件时的性能
- Unity UI on the HoloLens
- 【实践】jQuery实现三联联动
- 二模07day1解题报告
- Autowired注解的妙用---在Controller里的构造函数里获取需要注入的对象
- storage size of ‘oldact’ isn’t known
- Data Base MySQL的常用命令
- 提高SQL查询效率的常用方法
- Linux C 程序 数组(EIGHT)
- Sublime ctags 函数跳转插件安装
- 国内外MD5在线解密网站
- 如何在SpriteBuilder中使用BM Font Label
- 纯CSS实现展开列表
- 浮点数(double、float)的格式化问题及处理
- 分享MYSQL中的各种高可用技术
- sql 存储过程命名规范
- .net core批量注入实现类
- 一、JSP九大内置对象 	二、JAVAEE三层架构和MVC设计模式 	三、Ajax
- WIN-8“内置管理员无法激活此应用”问题