美文网首页
【Windows Docker】docker挂载解决IO速度慢的

【Windows Docker】docker挂载解决IO速度慢的

作者: 云彩修建站站长 | 来源:发表于2021-11-18 17:37 被阅读0次

这个问题花了一天的时间来解决,在网上有一些参考,但是都不太满意。

问题说明

我们使用WSL 2来运行Docker,通常会使用挂载的功能,把windows的文件挂在到Docker中,但是这种跨文件系统的操作性能不佳。

解决思路

把windows系统的文件挪到WSL系统下,然后在WSL子系统中(这里选择Ubuntu)启动docker(同时执行文件挂载),这样进入Docker后的IO操作不存在跨系统操作,速度会有较大提升。
为了达到上述目的,我们需要安装一个中介:Ubuntu(WSL的发行版),把windows系统的文件挪到wsl文件系统(Ubuntu)中,然后在Ubuntu中启动Docker。

解决方案

  1. 打开PowerShell,输入命令wsl --set-default 2,设置发行版本默认使用WSL 2
  2. 输入命令wsl --install -d Ubuntu 安装Ubuntu
  3. 安装好之后输入命令wsl -l -v,可以看到Docker和Ubuntu都在Running(VERSION务必是2)
  4. 打开Docker桌面,在设置选项中,打开WSL Integration,并手动重启Docker。这个设置允许在Ubuntu中使用Docker。 image.png
  5. 将想要挂在的数据移动到WSL文件系统中。在windows系统中执行:cp {WIN_DATA} \\wsl$\Ubuntu\home,其中\\wsl$\Ubuntu\home是WSL文件系统Ubuntu发行版的\home目录。
  6. 进入到Ubuntu系统。执行wsl -d Ubuntu,然后执行docker run -v /home:{DOCKER_PATH} -it {IMAGE},进入docker后,IO操作就飞快了。

respect

网上很多人的方案给了我启发,但是看到很多方案并没有解决问题,抛砖引玉,希望能解决大家的问题。

相关文章

网友评论

      本文标题:【Windows Docker】docker挂载解决IO速度慢的

      本文链接:https://www.haomeiwen.com/subject/gifjtrtx.html