多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
这个问题花了一天的时间来解决,在网上有一些参考,但是都不太满意。 * [解决Docker使用WSL2项目运行慢的问题](https://links.jianshu.com/go?to=https%3A%2F%2Flearnku.com%2Farticles%2F51641) 这个具体怎么操作没有写 * [docker desktop win10挂载问题解决](https://www.jianshu.com/p/e1bd6e13d8e4) 这个的解决方案有些trick 我阅读了官方文档,梳理出了如下的解决方案,我自己觉得还比较make sense # 问题说明 我们使用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。 ![](//upload-images.jianshu.io/upload_images/958385-5eb8e56f9d8e5f4a.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp) 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 网上很多人的方案给了我启发,但是看到很多方案并没有解决问题,抛砖引玉,希望能解决大家的问题。 。