今天在教同事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左右後就會構建成功。
這個時候,你就可以去你自己的倉庫地址拉取程式碼了。
這種方法雖然有點麻煩,但畢竟是自己的用著也放心一點。