当前位置: 首页 > 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 (所有悬空镜像)

相关文章:

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 (系统名…...

nginx 拦截指定ip访问指定 url

nginx 拦截指定ip访问指定 url 这里需要注意的是一定要用$http_x_forwarded_for 这个变量 upstream myapp1 { # 定义一个名为myapp1的服务器组 server backend1.example.com weight5; # 添加一个服务器&#xff0c;并设置权重为5 server backend2.example.com; # 添加另…...

git仓库的基本概念和流程以及一些基本命令

什么是版本库&#xff1f;版本库又名仓库&#xff0c;英文名repository,你可以简单的理解一个目录&#xff0c;这个目录里面的所有文件都可以被Git管理起来&#xff0c;每个文件的修改&#xff0c;删除&#xff0c;Git都能跟踪&#xff0c;以便任何时刻都可以追踪历史&#xff…...

Intel-ECI之Codesys PLC + Ethercat 远端IO + Codesys IDE编程

目录 一、 准备工作 二、安装Codesys 软件 PLC 三、 使用Codesys IDE 编程测试 CODESYS* 是领先的独立于制造商的 IEC 61131-3 自动化软件&#xff0c;适用于工程控制系统。它用于 Intel Edge Controls for Industrial&#xff08;Intel ECI 或 ECI&#xff09;&#xff0c;…...

互联网医院系统,互联网医院系统源码可供

互联网医院系统开发&#xff0c;其功能特点和优势在于实现了线上医疗服务与信息技术的深度融合。此系统旨在构建一个更为高效、便捷的医疗服务平台&#xff0c;提升患者的就医体验和医疗服务的效率。 一、功能特点 1、预约挂号与在线咨询 患者可通过系统进行预约挂号&#xf…...

Marin说PCB之POC电路layout设计仿真案例---06

我们书接上回啊&#xff0c;对于上面的出现原因我这个美女同事安娜说会不会你把POC电感下面的相邻两层的CUT_OUT的尺寸再去加大一些会不会变得更好呢&#xff1f;这个难道说是真的有用吗&#xff1f;小编我先自己算一卦看下结果。 本期文章我们就接着验证通过改善我们的单板POC…...

windwos defender实现白名单效果(除了指定应用或端口其它一律禁止)禁止服务器上网

一、应用场景说明 当我们的一台windows服务器中毒&#xff0c;变成别人肉鸡&#xff0c;不断向外请示非法网站或攻击其它服务器。 要彻底清除相关木马或病毒往往需要的时间比较长&#xff0c;比较有效的方法是禁止服务器主动向外发包除了网站端口和远程程序除外。 其实这就是一…...

Fiddler勾选https后google浏览器网页访问不可用

一、说明 最近电脑重新安装系统后&#xff0c;之前的所有工具都需要重新安装和配置&#xff0c;有个项目需要抓包https包查看一下请求的内容&#xff0c;通过Fiddler工具&#xff0c;但是开启后&#xff0c;发现https的无法抓取&#xff0c;同时google浏览器也不无法访问互联网…...

机器视觉检测相机基础知识 | 颜色 | 光源 | 镜头 | 分辨率 / 精度 / 公差

注&#xff1a;本文为 “keyence 视觉沙龙中机器视觉检测基础知识” 文章合辑。 机器视觉检测基础知识&#xff08;一&#xff09;颜色篇 视觉检测硬件构成的基本部分包括&#xff1a;处理器、相机、镜头、光源。 其中&#xff0c;和光源相关的最重要的两个参数就是光源颜色和…...

解决pytorch安装中的三个错误

查明已安装python版本为3.12.7后&#xff0c;创建虚拟环境。 报错内容&#xff1a;ArgumentError: one of the arguments -n/–name -p/–prefix is required 解决方式&#xff1a; 输入 conda create -n pytorch python3.8即可安装成功。 参考文章&#xff1a;https://blo…...

用Python开发高级游戏:实现3D迷宫游戏

Python虽然被认为是一门简单易学的语言,但它在游戏开发领域同样具有强大的潜力,尤其是结合诸如Pygame、Panda3D、PyOpenGL等框架,可以开发出复杂的游戏。 在本文中,我们将通过一个示例,介绍如何使用Python开发一个高级3D迷宫游戏。本文使用的框架是 Panda3D,一个专为3D游…...

基于 uniapp 开发 android 播放 webrtc 流

一、播放rtsp协议流 如果 webrtc 流以 rtsp 协议返回&#xff0c;流地址如&#xff1a;rtsp://127.0.0.1:5115/session.mpg&#xff0c;uniapp的 <video> 编译到android上直接就能播放&#xff0c;但通常会有2-3秒的延迟。 二、播放webrtc协议流 如果 webrtc 流以 webrt…...

Unity引擎学习总结------动画控件

左侧窗格可以在参数视图和图层视图之间切换。参数视图允许您创建、查看和编辑动画控制器参数。这些是您定义的变量&#xff0c;用作状态机的输入。要添加参数&#xff0c;请单击加号图标并从弹出菜单中选择参数类型。要删除参数&#xff0c;请在列表中选择该参数并按删除键&…...

Pytorch | 从零构建GoogleNet对CIFAR10进行分类

Pytorch | 从零构建GoogleNet对CIFAR10进行分类 CIFAR10数据集GoogleNet网络结构特点网络整体架构应用与影响Inceptionv1到Inceptionv2 GoogleNet结构代码详解结构代码代码详解Inception 类初始化方法前向传播 forward GoogleNet 类初始化方法前向传播 forward 训练过程和测试结…...

基于SIFT的目标识别算法

基于SIFT&#xff08;Scale-Invariant Feature Transform&#xff09;的目标识别算法是一种经典的计算机视觉算法&#xff0c;用于在图像中寻找和匹配具有尺度不变性的特征点&#xff0c;从而实现目标的快速而准确的识别。 SIFT算法的主要步骤包括以下几个阶段&#xff1a; 尺…...

计算机组成原理的学习笔记(4)--数据的表示与运算·其三 补码的乘法以及原码补码的除法

学习笔记 前言 本文主要是对于b站尚硅谷的计算机组成原理的学习笔记&#xff0c;仅用于学习交流。 1.补码乘法 基本操作 与正常原码乘法差不多&#xff0c;逐位乘&#xff0c;随后相加&#xff0c;而与符号位有关的一项也叫校正项 Booth算法 从乘数的最低位开始&#xff0c…...

压缩glb模型文件

使用?gltf-pipeline进行压缩&#xff1a; GitHub地址[这里是图片001]https://github.com/CesiumGS/gltf-pipeline 1. 安装gltf-pipeline npm install -g gltf-pipeline2. 在glb文件目录打开cmd进行命令行压缩&#xff1a; // cmd: gltf-pipeline -i glb.glb -d -s以下是 -…...

vertx idea快速使用

目录 1.官网下载项目 2.修改代码 2.1拷贝代码方式 为了能够快速使用&#xff0c;我另外创建一个新的maven项目&#xff0c;将下载项目的src文件和pom文件拷贝到新建的maven项目。 2.2删除.mvn方式 3.更新配置 4.配置application 5.idea启动项目 1.官网下载项目 从vert…...

如何创建属于自己的大语言模型:从零开始的指南

如何创建属于自己的大语言模型&#xff1a;从零开始的指南 为什么要创建自己的大语言模型&#xff1f; 随着人工智能的快速发展&#xff0c;大语言模型&#xff08;LLM&#xff09;在各种场景中表现出了卓越的能力&#xff0c;例如文本生成、对话交互和内容总结等。虽然市场上…...

debian linux 连网自动调整时间 (报错 Unit systemd-timesyncd.service could not be found.)

debian linux 连网自动调整时间 如果有报错 Unit systemd-timesyncd.service could not be found. 就用 apt 装一下 systemd-timesyncd 吧 参考: https://github.com/MichaIng/DietPi/issues/5472 sudo apt-get install systemd-timesyncd... ┌──(kali㉿kali)-[~] └─$ t…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

面试高频问题

文章目录 &#x1f680; 消息队列核心技术揭秘&#xff1a;从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"&#xff1f;性能背后的秘密1.1 顺序写入与零拷贝&#xff1a;性能的双引擎1.2 分区并行&#xff1a;数据的"八车道高速公路"1.3 页缓存与批量处理…...

UE5 音效系统

一.音效管理 音乐一般都是WAV,创建一个背景音乐类SoudClass,一个音效类SoundClass。所有的音乐都分为这两个类。再创建一个总音乐类&#xff0c;将上述两个作为它的子类。 接着我们创建一个音乐混合类SoundMix&#xff0c;将上述三个类翻入其中&#xff0c;通过它管理每个音乐…...

在Spring Boot中集成RabbitMQ的完整指南

前言 在现代微服务架构中&#xff0c;消息队列&#xff08;Message Queue&#xff09;是实现异步通信、解耦系统组件的重要工具。RabbitMQ 是一个流行的消息中间件&#xff0c;支持多种消息协议&#xff0c;具有高可靠性和可扩展性。 本博客将详细介绍如何在 Spring Boot 项目…...

基于 HTTP 的单向流式通信协议SSE详解

SSE&#xff08;Server-Sent Events&#xff09;详解 &#x1f9e0; 什么是 SSE&#xff1f; SSE&#xff08;Server-Sent Events&#xff09; 是 HTML5 标准中定义的一种通信机制&#xff0c;它允许服务器主动将事件推送给客户端&#xff08;浏览器&#xff09;。与传统的 H…...

生信服务器 | 做生信为什么推荐使用Linux服务器?

原文链接&#xff1a;生信服务器 | 做生信为什么推荐使用Linux服务器&#xff1f; 一、 做生信为什么推荐使用服务器&#xff1f; 大家好&#xff0c;我是小杜。在做生信分析的同学&#xff0c;或是将接触学习生信分析的同学&#xff0c;<font style"color:rgb(53, 1…...

iOS 项目怎么构建稳定性保障机制?一次系统性防错经验分享(含 KeyMob 工具应用)

崩溃、内存飙升、后台任务未释放、页面卡顿、日志丢失——稳定性问题&#xff0c;不一定会立刻崩&#xff0c;但一旦积累&#xff0c;就是“上线后救不回来的代价”。 稳定性保障不是某个工具的功能&#xff0c;而是一套贯穿开发、测试、上线全流程的“观测分析防范”机制。 …...