Windows 10 docker-compose 占用 100% 磁盘使用率

Ben*_*and 5 disk-io docker docker-compose

Docker 在 Windows 10 上非常慢。我执行了很多任务以使索引不在文件夹上运行,并尝试加快速度。该进程似乎占用了 100% 的 CPU,这很好,但也占用了 100% 以上的磁盘 IO,这是一个巨大的瓶颈。在 Linux 或 Mac 上运行不到 10 秒的任务在 Windows 上需要 40 分钟以上才能完成。

这根本无法以任何有意义的方式使用。docker-compose 坚持以 150MB/s 的速度写入磁盘而不是使用 ram 是否有原因?我有大量的内存。我实际上可以将整个 docker-container 系统存储在 ram 中,并且还剩下大约 10GB。

顺便说一句,虽然坚持 docker 只在 Linux 服务器上运行是可行的,但开发必须支持 windows、linux 和 mac。我不敢相信测试没有揭示 Windows 10 支持严重缺乏,不,关闭防病毒软件绝对不是一个选择。许多 docker 开发人员没有适当的权限来执行此操作,建议 docker 用户禁用防病毒功能是一个令人难以置信的请求。还有,禁用杀毒之类的还是不能解答为什么docker占用100%的磁盘IO。

小智 5

最近使用 Hyper-V 更新到 Windows 版 Docker Desktop 3.0.0 时,我也遇到了同样的问题。

我的解决方案是增加虚拟机可用的资源(设置 -> 资源 -> 高级)。我增加了 CPU 数量(从 2 个增加到 4 个)、内存(1GB 增加到 6GB)、交换空间(1GB 增加到 2GB)和磁盘空间(64GB 增加到 128GB)。从那以后我再也没有遇到过 100% 磁盘使用率问题。


小智 0

所以最近我遇到了同样的问题。我使用 Docker 和 DDEV 作为 Drupal 开发环境。跑步composer require drupal/something需要很多很多小时才能完成。我尝试了Why is PHP Composer so Slow?上的一些故障排除项目。。具体来说,运行和使用composer global require hirak/prestissimo. 至少这确实跑了。这是有希望的。然而它并没有解决问题。我尝试按照Spiceworks 的建议卸载重新安装 DDEV 和 Docker:Win 10 就地更新后,Windows 版 Docker 达到 100% 磁盘使用率。这也行不通。我决定尝试ddev composer install在容器外部而不是composer install在容器内部。Composer 给了我错误:This host computer is unable to create real symlinks, please see the docs to enable developer mode:打开Windows 开发模式,Composer 开始正常工作。

解决方案: 打开Windows开发者模式,以便可以使用系统链接。

希望这对大家有帮助!