我有一个相当大的Windows Docker图像+容器(它有MSVS和很多工具,基于Windows Server 2022),即使在我快速的16核Threadripper Windows 11桌面上运行也相当慢;它看起来非常受磁盘限制,并且占用了超过50GB的磁盘空间(而且我使用它的时间越长,它消耗的空间就越大)。主机有WSL2和Docker Desktop(启用了WSL2后端),并且启用了Hyper-V。容器是自包含的;它不会从主机绑定装载任何卷。
看看任务管理器,C盘被固定在100%的活动时间,响应速度非常慢;使用procmon
时,我发现大多数磁盘访问都是从"vmmem"和"docker-index"进行的,而且我的c:\ProgramData\Docker\windowsfilter
目录经常会被填满。而且,即使我为容器分配了8个CPU,我也从来没有得到超过1或2个CPU的计算值(可能只是因为它太受磁盘限制了)。
我读过很多关于如何在Windows上加速docker容器的文章,但是由于我对底层架构不是100%清楚(dockerd是在VM中运行的吗?docker-index是什么?容器本身是什么?容器中的文件系统驱动程序是什么?)我不确定如何加速它。
我是否应该删除Docker桌面并移动到https://lippertmarkus.com/2021/09/04/containers-without-docker-desktop/中的"普通" Windows Docker?我不关心桌面GUI;无论如何,我只使用CLI(Docker构建、Docker-compose up等)。
我应该从WSL中运行Docker吗?那甚至可以与Windows映像/容器一起工作吗?
我应该得到一个干净的机器,只运行docker映像?
还有别的主意吗?
1条答案
按热度按时间bxjv4tth1#
最快的方法是:
1.安装Linux发行版;
1.进入Linux操作系统
1.安装对接器(https://docs.docker.com/engine/install/ubuntu/);
1.用
docker build
或docker-compose up
组成容器。