1.Docker中获取不到WSL2发行版
1.运行wsl –list -v可以查看安装的wsl发行版,状态,以及版本
2.在docker新版本中,docker desktop和docker desktop data这两个发行版合并。(前面排查问题时,一直怀疑是docker desktop data误删的问题)
3.在docker ai问答中指出,虽然docker不是必须安装其他linux发行版,但是建议安装一个Ubuntu获取更好体验。
4.安装Ubuntu报错:
安装wsl更新包:wsl –version查看
确保启用虚拟化功能(power shell):
# 启用必要功能(管理员权限)
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
实际原因(猜测):是否已经安装wsl,如果没有,可以根据文档步骤安装。
我是已经安装了wsl,也是最新版本,前面一直以为要安装更新包,下载了运行也出错,后面在power shell输入命令后,突然Ubuntu就可以安装了。
最后我跟着教程走到了安装Ubuntu配置中文,然后docker设置资源中wsl集成就可以使用了。(教程链接:Windows下安装WSL来使用Docker创建容器_windows wsl docker-CSDN博客)
最后结果:
2.Docker出现容器没有可用CPU和内存资源
1.查看任务管理器,是否有高占用进程
vmmemWSL(虚拟机进程)占用了87以上的CPU
WSL 内运行了高负载任务(如编译代码、数据库服务)。
WSL 未正确释放资源(内存泄漏或进程卡死)。
Windows 和 WSL 之间的文件系统操作(如大量 I/O 读写)。
2.设置wslconfig配置文件,限制资源使用
win+r输入%userprofile%,创建.wslconfig文件,根据自己需求配置
设置完成之后,docker资源显示也同步更新,但是仍出现无可用数据,且还有服务器报错信息。
Cannot stop Docker Compose application. Reason: compose [stop] exit status 1. request returned 500 Internal Server Error for API route and version http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/v1.50/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.oneoff%3DFalse%22%3Atrue%2C%22com.docker.compose.project%3Ddocker%22%3Atrue%7D%7D, check if the server supports the requested API version
这个问题过了一会突然又可以用了,现在还没发现具体原因是什么
3.bisheng登录出现502错误
启动bisheng出现request fail with status code 502
代表着:bisheng后端服务启动问题
解决方法:
在容器中点击backend,查看日志,搜索error查看报错信息
最后发现是minio这个容器出现了分配内存的错误,一开始我设置限制内存是4,更改为8后bisheng可以正常登入。
最近在学习bisheng工具的使用,因为本身对虚拟化,linux这些了解较少,在部署阶段出现了挺多问题,在此写这篇文章记录一下。