.Net Core Docker加载慢优化
简述
使用vs2019 初次调试Docker时生成特别慢,原因主要是底层镜像拉取慢和调试工具下载慢
解决方案如下
- 配置Docker容器镜像加速
- 手动pull所需要的镜像
- 手动下载调试工具资源
配置docker容器镜像加速 以Dockerwindows客户端为例
- 桌面任务栏托盘区找到小海豚右键->Settings->Docker Engine
- 添加registry-mirrors 节点如下:
{
"registry-mirrors": [
"https://registry.docker-cn.com",//docker中国区镜像
"http://hub-mirror.c.163.com",//网易镜像
"https://docker.mirrors.ustc.edu.cn"//中国科学技术大学镜像
],
"insecure-registries": [],
"debug": true,
"experimental": false
}
- 点击Apply&Restart 重启Docker配置完成生效
- ps: 也可使用阿里云镜像,但阿里云镜像不是公开地址 需要自己配置 可参考
手工拉取镜像
根据项目中Dockerfile的依赖手工加载镜像
根据上图红框中的基础镜像
docker pull docker pull mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim
docker pull mcr.microsoft.com/dotnet/core/sdk:3.1-buster
配置调试文件 参考
如果在生成的时候 提示了 Info: C:\Users\userName\vsdbg\vs2017u5 exists, deleting. 这样的提示,说明正在下载调试工具包,但这个资源比较慢,需要等很久
- 可以手工下载包 https://vsdebugger.azureedge.net/vsdbg-{你的版本号.号换成-号}/vsdbg-{你的Runtime ID}.zip
如:https://vsdebugger.azureedge.net/vsdbg-16-0-20412-1/vsdbg-linux-x64.zip - 下载成功后解压到/vs2017u5这个文件夹里,并且添加两个文件:用来标识工具下载成功了(如果没有的话,会被删掉,再重新下)
- uccess_rid.txt 内容是Runtime ID :如linux-x64
- success_version.txt 内容是版本号 :如16.0.20412.1
- 重启
- 一般可能还会要再下载另一个文件:https://vsdebugger.azureedge.net/vsdbg-{你的版本号.号换成-号}/vsdbg-linux-musl-x64.zip
- 同样解压到/vs2017u5/linux-musl-x64这个文件夹里,并且添加两个文件:用来标识工具下载成功了
- uccess_rid.txt 内容是Runtime ID :如linux-x64
- success_version.txt 内容是版本号 :如16.0.20412.1
- 重启VS 在Docker下运行调试就很快了