更新說明
- 增加了 mssql 映象的支援。現在也可以透過 docker 來安裝 mssql 2017 和 2019 了。
2018 年五月之後,微軟將後續釋出的所有 docker image 都推送到了 MCR (Miscrosoft Container Registry),但在中國大陸,它的速度實在是令人髮指,本文將介紹一種方法來解決這個問題。
如何使用
存在至少三種方法進行加速:
注意,無論採用什麼方式,請先確保本地的 docker 已經正常可用。
使用 docker-mcr
docker-mcr 是一個 dotnet core global tool,簡單幾步,便可以進行安裝和使用。
進入dotnet頁面,下載並安裝 netcore 3.1 SDK。
安裝完畢後開啟控制檯執行以下命令:
dotnet tool install newbe.mcrmirror -g
現在,假如需要拉取 mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim ,則執行以下命令:
docker-mcr -i mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim
等待完成之後,便可以在本地看到已經拉取完畢的映象。
當然,還有更多操作:
下載多個映象:
docker-mcr --image mcr.microsoft.com/dotnet/core/sdk:3.1,mcr.microsoft.com/dotnet/core/runtime:3.1
從騰訊雲下載:
docker-mcr --mirror-host tencentyun --image mcr.microsoft.com/dotnet/core/sdk:3.1
從自定義的伺服器下載:
docker-mcr --mirror-host registry.cn-hangzhou.aliyuncs.com --image mcr.microsoft.com/dotnet/core/sdk:3.1 --mirror-namespace newbe36524
如果您曾經安裝過 newbe.mcrmirror ,您需要使用以下命令來進行升級,確保最佳的體驗。
dotnet tool update newbe.mcrmirror -g
拉取國內伺服器上的映象
加速的本質是因為我將映象推送到了國內的伺服器,目前在以下伺服器均存在映象:
以下以阿里雲為例進行說明,假設需要拉取 aspnet:3.1-buster-slim
則拼接上面的字首,則得到地址 registry.cn-hangzhou.aliyuncs.com/newbe36524/aspnet:3.1-buster-slim
然後,為了不修改預設的 Dockerfile 您可以執行以下命令:
docker pull registry.cn-hangzhou.aliyuncs.com/newbe36524/aspnet:3.1-buster-slim
docker tag newbe36524/aspnet:3.1-buster-slim mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim
這樣你就成功的在本地得到了 mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim 映象。
當然,你也可以直接把 registry.cn-hangzhou.aliyuncs.com/newbe36524/aspnet:3.1-buster-slim 寫入到你的 Docker file 中。
使用 DockerHub 加速器
我也將映象推送到了 dockerhub ,所以正常來說,在中國大陸使用 dockerhub 加速器也可以達到加速的效果。
規則,mcr.microsoft.com/dotnet/core/{name}:{tag} -> newbe36524/{name}:{tag}
例如,您可以執行以下命令:
docker pull newbe36524/aspnet:3.1-buster-slim
docker tag newbe36524/aspnet:3.1-buster-slim mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim
這樣你就成功的在本地得到了 mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim 映象。
當然,你也可以直接把 newbe36524/aspnet:3.1-buster-slim 寫入到你的 Docker file 中。
在此之前,請確保你正確配置了本地的加速器。
[admin
]