解决 Window Docker Desktop 卡顿问题

发现问题

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的问题)

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值