.Net Core Docker加载慢优化

简述

使用vs2019 初次调试Docker时生成特别慢,原因主要是底层镜像拉取慢和调试工具下载慢
解决方案如下

  • 配置Docker容器镜像加速
  • 手动pull所需要的镜像
  • 手动下载调试工具资源

配置docker容器镜像加速 以Dockerwindows客户端为例

  1. 桌面任务栏托盘区找到小海豚右键->Settings->Docker Engine
  2. 添加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
}
  1. 点击Apply&Restart 重启Docker配置完成生效
  2. 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. 这样的提示,说明正在下载调试工具包,但这个资源比较慢,需要等很久

  1. 可以手工下载包 https://vsdebugger.azureedge.net/vsdbg-{你的版本号.号换成-号}/vsdbg-{你的Runtime ID}.zip
    如:https://vsdebugger.azureedge.net/vsdbg-16-0-20412-1/vsdbg-linux-x64.zip
  2. 下载成功后解压到/vs2017u5这个文件夹里,并且添加两个文件:用来标识工具下载成功了(如果没有的话,会被删掉,再重新下)
    • uccess_rid.txt 内容是Runtime ID :如linux-x64
    • success_version.txt 内容是版本号 :如16.0.20412.1
  3. 重启
  4. 一般可能还会要再下载另一个文件:https://vsdebugger.azureedge.net/vsdbg-{你的版本号.号换成-号}/vsdbg-linux-musl-x64.zip
  5. 同样解压到/vs2017u5/linux-musl-x64这个文件夹里,并且添加两个文件:用来标识工具下载成功了
    • uccess_rid.txt 内容是Runtime ID :如linux-x64
    • success_version.txt 内容是版本号 :如16.0.20412.1
  6. 重启VS 在Docker下运行调试就很快了
posted @ 2020-06-08 14:29  落叶落  阅读(1423)  评论(1编辑  收藏  举报