发现问题
Window 环境下使用 docker,不是卡就是慢,容器还经常失常,但 Mac 或 Linxu 等环境下却正常。
原因是 docker 运行环境为 Linux,在 Window 中运行需要借助 WSL 虚拟操作系统运行。当项目映射源在 Window,而映射目标在 WSL,这跨操作系统的运转将严重影响性能。
解决步骤
1、重设 wsl root 密码(其实用不上密码,这步可以跳过不做)。
[window]
wsl --user root
[wsl]
passwd root
2、设置 wsl 默认 root 登录,让 window 能操作 wsl 文件。
[window]
C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps\ubuntu2004.exe config --default-user root
3、将项目文件移到 wsl 文件系统内(如/var)。
[window]
wsl --user root
[wsl]
cp -r /mnt/d/project /var/
4、wsl 内安装 docker-compose wsl 内无法正常启用docker,需要在 docker desktop 开启WSL集成功能。
若显示当前 distros 版本不为2,则需要升级 wsl 版本后,再开启上述集成:
[window]
//检查 WSL 模式
wsl -l -v
//将 Linux 发行版升级到 v2(若是纯净无污染则只需十几秒,若有改动则可能半小时不止)
wsl --set-version <distro name> 2
//将 v2 设置为将来安装的默认版本
wsl --set-default-version 2
//更改默认的 WSL 发行版
wsl --set-default <distro name>
5、docker-compose.yml 映射地址调整,最终目的是为了在 wsl 里运行 docker-compose 指令,就不细说了。
6、git 仓管理工具、代码编辑器等的项目地址更换。文章来源:https://www.toymoban.com/news/detail-844659.html
//可能会用到
[window]
git config --global --add safe.directory "*"
引用
1、他人思路(不适用)
2、跨 OS 问题处理
3、访问 wsl 权限问题处理
4、修改 wsl root 密码
5、WSL 版本更新指令
6、最佳思路(解决了引用1的问题)文章来源地址https://www.toymoban.com/news/detail-844659.html
到了这里,关于解决 Window Docker Desktop 卡顿问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!