美文网首页
【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