当前位置: 首页 > article >正文

docker(wsl)命令 帮助文档

WSL

wsl使用教程
wsl -l -v 列出所有已安装的 Linux 发行版
wsl -t Ubuntu-22.04 --shutdown 关闭所有正在运行的WSL发行版。如果你只想关闭特定的发行版
wsl -d Ubuntu-22.04 登录到Ubuntu环境
wsl --list --running 查看正在wsl中运行的linux发行版
wsl --unregister (系统名称) 注销

wsl --unregister Ubuntu-20.04

wsl --import (发行版) (安装位置) (文件路径以及文件名称)

wsl --import Ubuntu-20.04 D:\WSL\Ubuntu-20.04 D:\Ubuntu-20.04.tar --version 2,–version 2表示是wsl2导出的系统

wsl --status 检查 WSL 状态
wsl df -h / 输出将包括文件系统、大小、已用、可用、使用百分比和装载位置等信息
free -m 查看内存、swap大小
cat /proc/cpuinfo| grep "processor"| wc -l 查看处理器个数

凡是不带wsl的命令都需要进入Linux子系统后敲

WSL 官网命令

调整WSL占用内存和空间

装完WSL后,查看任务管理器时发现vmmem进程占用内存过高。
WSL内存默认值是电脑内存的一半,CPU默认值是电脑处理器个数,swap空间默认值是电脑内存的四分之一

  • wsl2使用的虚拟硬盘(VHD)默认大小为1TB
  • WSL2虚拟机默认分配的内存是Windows上总内存的50%或8GB,以较小者为准
  • WSL2的交换空间默认是Windows上25%的内存大小四舍五入到最接近的GB
    交换空间类似于Windows的虚拟内存,是当物理内存不足时使用的基于磁盘的RAM

WSL2使用一个轻量级的虚拟机来运行Linux内核,从而提供完整的Linux环境。然而,WSL2并不是设计来消耗如此大量的内存的,实际上,它通常使用的内存远小于1TB。如果你想要为WSL2分配1TB的内存,这在技术上是不可行的。但请注意,这并不意味着WSL2能够使用超过你物理内存限制的内存。

通常,WSL2的内存使用量会根据你的Linux发行版和运行的应用程序来动态调整。如果你需要更多的内存来运行特定的Linux应用程序,你可以考虑:

  • 增加物理内存:如果你的电脑支持,可以增加更多的RAM。
  • 优化应用程序:调整Linux中的应用程序,使其更高效地使用内存。
  • 使用交换空间:通过增加WSL2的交换空间来模拟更多的内存,但这会显著降低性能,因为硬盘的速度远慢于RAM。
交换空间

WSL(Windows Subsystem for Linux)交换文件(swap file)的作用与Linux系统中的交换文件类似,它是一种内存管理技术,用于扩展系统的物理内存当系统的物理内存(RAM)不足以容纳当前所有活跃的进程时,操作系统会使用交换文件(或交换分区)作为临时存储空间,将一部分内存中的数据移动到硬盘上,以便为新的进程或数据腾出空间

WSL2的虚拟内存大小可以通过配置文件进行调整.wslconfig

第一步:关闭所有运行的系统

# 查看wsl版本
wsl -l -v
# 查看正在wsl中运行的linux发行版
wsl --list --running
# 关闭所有正在wsl中运行的linux发行版
wsl --shutdown

第二步:修改.wslconfig配置文件

  • .wslconfig文件存放于当前用户的目录,即绝对路径为C:\Users\你的用户名.wslconfig,没有的话就新建一个。
  • 也可以打开文件管理器后,在地址栏输入%UserProfile%跳转至用户目录,再新建或编辑.wslconfig文件。
# Settings apply across all Linux distros running on WSL 2
[wsl2]

# Limits VM memory to use no more than 2 GB, this can be set as whole numbers using GB or MB
memory=4GB 

# Sets the VM to use two virtual processors设置指定WSL 2虚拟机使用的虚拟处理器的数量
processors=4

# Sets amount of swap storage space to 2GB, default is 25% of available RAM
swap=4GB

# Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx
# swapfile=C:\\temp\\wsl-swap.vhdx

查看内存和交换空间使用情况:free -m
查看查看WSL2虚拟内存大小:wsl --list --verbose
cat /proc/cpuinfo| grep "processor"| wc -l 查看处理器个数
查看交换文件大小:cat /proc/swaps

查看可用宿主机可用物理内存

systeminfo

在这里插入图片描述
我新建的.wslconfig配置文件位置:C:\Users\HUAWEI
修改内容如下:

# Settings apply across all Linux distros running on WSL 2
[wsl2]

# Limits VM memory to use no more than 2 GB, this can be set as whole numbers using GB or MB 第一次只修改了这里
memory=8GB 

# Sets the VM to use two virtual processors
processors=4

# Sets amount of swap storage space to 2GB, default is 25% of available RAM
swap=4GB

# Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx
# swapfile=C:\\temp\\wsl-swap.vhdx

修改好配置文件后,重启wsl2,让配置生效

wsl --shutdown

解析文档还是卡在83%~~
在这里插入图片描述

WSL从C盘迁移到其它盘

wsl安装的系统默认在c盘,为节省c盘空间进行迁移

cd到目标盘后执行导出命令:wsl --export Ubuntu-20.04 ./Ubuntu-20.04.tar ,将系统导出到D盘
注销原来的环境,命令格式为wsl --unregister (系统名称) ,具体案例为: wsl --unregister Ubuntu-20.04
执行导入命令 ,命令格式为 wsl --import (发行版) (安装位置) (文件路径以及文件名称) ,具体案例为:wsl --import Ubuntu-20.04 D:\WSL\Ubuntu-20.04 D:\Ubuntu-20.04.tar --version 2,–version 2表示是wsl2导出的系统。
启动wsl系统,执行df -h查看是否成功

参考原文

wsl空间清理

【琐碎问题】WSL2空间清理
Windows WSL2 占用磁盘空间清理释放

Docker

sudo chmod +x /usr/local/bin/docker-compose #添加可执行权限
docker-compose -v #查看版本
sudo su 进入管理员模式
systemctl restart docker 重新启动docker
sudo vim /etc/docker/daemon.json 为docker添加镜像源
sudo systemctl daemon-reload 修改配置文件后重载
sudo systemctl restart ollama 重启服务
查看所有镜像:docker images
查看当前运行的容器:docker ps
停止一个正在运行的容器:docker stop 《容器ID或名称》
启动docker:systemctl start docker
重启docker:service docker restart
查看版本:sudo docker version
查看镜像:sudo docker images
删除:docker rmi <iamge_name>:或者docker rmi <image_id>
强制删除:docker rmi -f <image_name>:
删除悬空镜像(从未使用过的):docker iamge prune
docker iamge prune -a (所有悬空镜像)


http://www.kler.cn/a/445078.html

相关文章:

  • 楚慧杯-Web
  • C盘下的文件夹
  • 手机无法连接电脑,如何解决(快速排除手机与电脑连接问题的方法)
  • 我的工作会被AI替代吗?
  • SSM 与 Vue 共筑电脑测评系统:精准洞察电脑世界
  • Vue3 + Element-Plus + vue-draggable-plus 实现图片拖拽排序和图片上传到阿里云 OSS 父组件实现真正上传(最新保姆级)
  • 编程训练系统(代码+数据库+LW)
  • 《全面解析 QT 各版本:特性、应用与选择策略》
  • 二百八十、ClickHouse——用Kettle对DWD层补全的清洗数据进行记录
  • 【真人模型】Stable Diffusion:人脸特美的人像摄影大模型
  • MySQL批量删除字段跑路?
  • Ubuntu 22.04永久保存路由
  • Vue3组件数据双向绑定
  • 09-C语言格式化字符串操作
  • React 工具和库面试题(一)
  • Vscode打开后闪退问题
  • 【leetcode100】随机链表的复制
  • Java游戏开发基础:从零开始制作一个简单的2D游戏
  • Linux下搭建和简单配置FTP服务器
  • (11)YOLOv9算法基本原理
  • Vue.js前端框架教程3:Vue setup语法糖和异步操作
  • Redis——缓存双写一致性问题
  • 预览和下载 (pc和微信小程序)
  • git bash中文显示问题
  • ubuntu history 存放 更多
  • 软件项目需求分析的实践探索(1)