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

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.mrgr.cn/news/80661.html

相关文章:

  • 【计算机网络】期末考试预习复习|中
  • HCIA-Access V2.5_4_1_1路由协议基础_IP路由表
  • 数字化转型过程中,制造业面临哪些挑战?-中小企实战运营和营销工作室博客
  • 【html网页页面013】html+css制作节日主题圣诞节网页含视频、留言表单(独创首发-5页面附效果及源码)
  • 热更新解决方案4——xLua热补丁
  • 适配体技术在新药发现中的应用
  • 英飞源嵌入式面试题及参考答案
  • 蓝桥杯算法训练 黑色星期五
  • 人工智能在VR展览中扮演什么角色?
  • ios 混合开发应用白屏问题
  • configure错误:“C compiler cannot create executables“
  • java error(2)保存时间带时分秒,回显时分秒变成00:00:00
  • 高并发 - 2.线程池
  • 大模型系列4--开源大模型本地部署到微调(WIP)
  • ubuntu系统版本安装docker容器
  • Kubeadm+Containerd部署k8s(v1.28.2)集群(非高可用版)
  • windows11 24H2 CSOL 闪退问题解决办法
  • Java通过反射破坏单例模式
  • Compose IO
  • Linux介绍与安装CentOS 7操作系统
  • JS实现简单的前端分页功能
  • Avalonia 开发环境准备
  • asp.net core发布配置端口号,支持linux
  • 使用qemu搭建armv7嵌入式开发环境
  • matlab绘图时设置左、右坐标轴为不同颜色
  • JVM性能优化一:初识内存泄露-内存溢出-垃圾回收