文章目录
发现问题解决步骤引用
发现问题
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 仓管理工具、代码编辑器等的项目地址更换。
//可能会用到[window]git config --global --add safe.directory "*"
引用
1、他人思路(不适用)
2、跨 OS 问题处理
3、访问 wsl 权限问题处理
4、修改 wsl root 密码
5、WSL 版本更新指令
6、最佳思路(解决了引用1的问题)