mgP*_*ePe 11 build visual-studio docker windows-10 asp.net-core
我有一个 MVC Core 2.2,在 docker 容器中有多个项目。当我运行它时,构建镜像和启动容器大约需要 4 分钟。我正在使用docker-compose
.
这似乎很慢,因为这是小型开发,而且我有一台不错的计算机。似乎资源没有被使用,因为在映像构建期间处理器低于 8%,ram 不让步,磁盘几乎为 0%。图形处理器 0%。下载 Microsoft 映像时,我可以看到 Internet 峰值出现几秒钟,但仅此而已。我已经为 docker 提供了以下资源:
Cores: 8
RAM: 8GB
SWAP: 3gb
Disk Image Size: 64GB (30.5 GB used)
Run Code Online (Sandbox Code Playgroud)
任何想法如何使用这些硬件资源来加快构建速度?
这似乎是 Windows 10 上 Docker 的一个普遍问题,因为我在网上发现了几个讨论这个问题的线程,而且它似乎通常与分配给 Docker 的硬件资源无关。
因此,我在 Windows 10 虚拟实例上进行了一些尝试,并注意到使用示例 docker-compose 运行一些基于 Linux 的容器时出现类似的行为。
在这里,我报告了我在搜索过程中发现的所有步骤,这些步骤似乎确实加快了我的测试过程中的操作速度:
添加开发(例如 git repos )和 docker 镜像目录:
Windows Defender 排除列表( https://support.microsoft.com/en-us/help/4028485/windows-10-add-an-exclusion-to-windows-defender-antivirus )
注意:首先尝试禁用 Windows Defender 看看是否有帮助
Windows 索引排除列表(控制面板 -> 索引选项)
执行以下命令刷新 dns:
ipconfig /flushdns
Run Code Online (Sandbox Code Playgroud)尝试将 DNS 更改为例如 Google one ( 8.8.8.8 - 8.8.4.4 ) 或 Cloud Fare one ( 1.1.1.1 - 1.0.0.1 ) (这里,因为我已经有了 Google DNS,所以我尝试以相反的方式设置较慢的 DNS 和实际操作变得有点慢)
如果安装了任何其他防病毒软件,请添加例外(同样,首先尝试禁用它们,看看这是否有帮助)
从所有网络接口中删除所有 IPV6 支持和 NetBIOS
注意:有人建议卸载 Docker 并在这些应用后安装,但我没有测试,因为我是从全新的 Windows 10 安装开始的。
希望这些也能对您的环境有所帮助!
我找到的最佳参考:
检查build目录中是否有太多文件,如果有dcoker需要将所有文件发送到守护进程,这也需要时间才能完成......
您可以使用忽略不需要的文件.dockerignore
在 docker CLI 将上下文发送到 docker 守护进程之前,它会在上下文的根目录中查找名为 .dockerignore 的文件。如果此文件存在,CLI 会修改上下文以排除与其中的模式匹配的文件和目录。这有助于避免不必要地将大型或敏感文件和目录发送到守护程序,并可能使用 ADD 或 COPY 将它们添加到映像中。
归档时间: |
|
查看次数: |
3170 次 |
最近记录: |