.Net Core:Docker無法拉取mcr.microsoft.com相關鏡像解決辦法


今天在教同事Docker簡單部署Asp.Net Core項目,pull鏡像時突然出現下圖中的錯誤:

image

因為微軟在 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文件。

image

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

2、在阿里雲開容器鏡像服務,個人實例。

image

3、進到個人實例 — 鏡像倉庫 — 創建鏡像倉庫 — 綁定代碼源(github)

image

image

image

4、進入鏡像倉庫 — 點擊左邊的構建 — 添加構建規則 — 立即構建

image
image
image

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

這個時候,你就可以去你自己的倉庫地址拉取代碼了。

image

image

這種方法雖然有點麻煩,但畢竟是自己的用着也放心一點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM