簡述
使用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下運行調試就很快了