当前位置: 首页 > 知识库问答 >
问题:

wsl2上的docker非常慢

谢旻
2023-03-14

在阅读了在 wsl2 上运行 Docker 时的性能改进之后,我一直在等待支持 wsl2 的 Windows 10 的正式发布。我更新了Windows和Docker,并打开了Docker标志以使用wsl2,并希望在Docker容器中运行的Oracle数据库的性能有所提高,但不幸的是,这一更改大大减慢了容器和我的笔记本电脑的速度。容器的性能大约慢10倍,我的笔记本电脑在启动容器时几乎卡住了。似乎内存消耗会完全耗尽我的8GB,并且开始进行大量内存交换。我能做些什么来提高 Docker 在 wsl2 上的性能,或者至少更好地了解我的设置出了什么问题?

我的环境:

    < li >处理器英特尔酷睿i7-2620M CPU @ 2.70GHz,双核 < li >安装的物理内存(RAM) 8.00 GB < li>Microsoft Windows 10 Pro版本10.0.19041内部版本号19041 < li>Docker版本19.03.8,内部版本afacb8b

共有3个答案

舒俊雄
2023-03-14

wsl容器有独立于windows文件系统的文件系统。基本思想是将源代码从windows文件系统e复制到wsl文件系统e。

从窗口中,您可以访问 wsl 容器并将项目复制到 wsl 容器:

使用浏览器导航到< code>\\wsl$

从这个位置重建容器,这就行了!

陶睿
2023-03-14

您可能将代码存储在Windows计算机上的类似于此的文件夹中。。。

C:\\Users\YourName\projects\blahfu

但是您在WSL 2上使用Docker,这是一个不同的(Linux)文件系统。因此,当您构建Docker时,所有代码/上下文都从Windows文件系统复制到Linux文件系统,然后从那里复制到Docker容器。这是最费时间的,而且慢得令人难以置信。

尝试将项目放入这样的文件夹中...

/home/YouName/projects/blahfu

您应该获得相当大的性能提升。

曾弘扬
2023-03-14

这来自“vmmem”,它消耗尽可能多的资源。要解决问题,只需转到您的用户文件即可

C:\用户\用户名

在此目录中创建一个名为“.wslconfig”的文件,您将在其中配置可以使用 WSL2 的资源数:

[wsl2] 
memory=900MB    #Limits VM memory in WSL 2 to 900MB 
processors=1    #Makes the WSL 2 VM use one virtual processors

现在关闭您的泊坞窗,并等待“vmmem”在任务管理器中关闭。

然后你可以重启docker,通常“vmmem”不会超过你设置的限制(这里是900MB),如果不工作,重启你的电脑。

我希望这对你有帮助。

 类似资料:
  • 我只是尝试WSL 2与Docker的Windows和我有一个问题与安装卷: 容器构建和启动良好,我使用docker exec很好地访问它,但是容器中的文件夹没有绑定到我的笔记本电脑文件夹。但是,正确的路径实际上正确地安装在运行的容器上: (这里我在主机上进行pwd,以确定它是否与安装在容器上的内容完全匹配) 这是portainer的屏幕,告诉我容器中安装了什么路径,所有内容都匹配。 我在主机上的应

  • 我正在尝试在本地使用wsl2和docker desk运行bookinfo示例。由于连接被拒绝,我试图通过网关访问productpage服务时遇到问题。我不确定我是否错过了什么。以下是我在网上搜索了很多次后所做的事情 部署了bookinfo示例中的所有服务,并且所有服务都处于运行状态,我可以使用kubectl exec从其他服务中创建productpage 使用示例中的文件部署bookinfo网关,

  • 我正在Windows 10 Home上使用Docker运行Landoop(图像)容器,使用WSL2。我可以做一个码头工人。具有多个服务的yaml文件: 从现在开始,我只运行到连接用户界面服务,根据配置文件,连接用户界面服务应该绑定在端口8084上。当我尝试访问其他服务,如kafka或模式注册服务时,我能够通过以下方式看到相应端口上的输出:

  • 据我所知,docker不支持在生成容器后更改端口映射的任何命令 但是这个答案说,通过更改主机配置。json文件,我可以更改端口映射。 如何将端口映射分配到现有的Docker容器? 我在Windows WSL2中使用docker桌面。所以hostconfig.json路径与其他答案不同。 hostconfig.json? 在我的例子中,(\wsl$\docker-desite-data\mnt\ws

  • 问题内容: 我尝试在主机上创建几个不同的目录,以尝试了解Docker,以使dockerfile井井有条。我刚运行的Dockerfile如下所示: 我的实际转速仅为1 GB。但是,当我尝试这样做时,我将向Docker守护进程3.5 GB发送构建上下文。当您继续构建Docker映像时,还有其他我不知道的事情吗?当我在主机上的其他目录中构建更多映像时,是否正在累积内存? 问题答案: Docker客户端将

  • 本文向大家介绍linux上安装Docker(非常简单的安装方法),包括了linux上安装Docker(非常简单的安装方法)的使用技巧和注意事项,需要的朋友参考一下 最近比较有空,大四出来实习几个月了,作为实习狗的我,被叫去研究Docker了,汗汗! Docker的三大核心概念:镜像、容器、仓库 镜像:类似虚拟机的镜像、用俗话说就是安装文件。 容器:类似一个轻量级的沙箱,容器是从镜像创建应用运行实例