WSL2 安装与Docker安装

注意:如没有科学上网请勿尝试,无法判断是否会因网络错误导致的安装失败!!!

WSL2(Windows Subsystem for Linux 2)

功能简介:
WSL2 是微软提供的在 Windows 上运行完整 Linux 内核的子系统,支持原生 Linux 二进制程序,无需虚拟机即可实现 Linux 环境。它与 Windows 文件系统紧密集成,提供高速的文件访问和网络性能。

应用场景:

  • 开发者在 Windows 机器上使用 Linux 工具链(如 Bash、Git、Python、Node.js 等)。
  • 运行 Linux 服务器软件或测试环境。
  • 学习和实验 Linux 系统与软件。
  • 在 Windows 与 Linux 环境间无缝切换,简化跨平台开发流程。

Docker

功能简介:
Docker 是一个容器化平台,可以将应用及其依赖打包到轻量级、可移植的容器中,实现“一次构建,处处运行”。它提供快速部署、一致环境和资源隔离。

应用场景:

  • 开发和测试环境标准化,避免“环境不一致”问题。
  • 微服务架构中,各服务独立部署和管理。
  • 持续集成/持续交付(CI/CD)流水线自动化。
  • 方便应用迁移和扩展,尤其在云计算中。
  • 运行数据库、中间件等依赖环境,简化配置和维护。

1. 系统要求与准备

  • Windows 10 专业版,版本号至少 19041 以上,建议更新至最新补丁。
  • 需要开启虚拟化支持(BIOS 中开启 VT-x/AMD-V)。
  • 需要安装并启用 Windows 子系统 Linux 和虚拟机平台功能,具体如下图选择后会确定安装。
    请添加图片描述
    请添加图片描述

2. 安装 WSL 功能

打开 PowerShell(管理员),执行后重启电脑:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

3. 安装或更新 WSL2 内核组件

下载并安装最新的 WSL2 Linux 内核更新包:

WSL2安装包链接

4. 设置 WSL 版本为 2(默认)

wsl --set-default-version 2
wsl -version

5. 安装 Ubuntu 发行版

Ubuntu 压缩包链接

​进入该网址下载压缩包,注意选择AMD或ARM要根据你的电脑硬件型号决定,可以在任务管理器的性能里看到。

常见型号错误:<3>WSL (26 - Relay) ERROR: CreateProcessCommon:725: execvpe(/bin/bash) failed: Exec format error

请添加图片描述

手动导入刚才下好的安装包到自定义目录(例如 D 盘),我这里为了方便重命名为 ubuntu.tar.gz

wsl --import Ubuntu D:\WSL\Ubuntu C:\path\to\ubuntu.tar.gz --version 2

6.运行 WSL启动Ubuntu

wsl -d Ubuntu

更新软件:

 apt update && apt upgrade -y

添加用户,减少使用root用户:

 adduser user_name#提示你输入两次密码(不可见,直接输入即可)

提升权限:

usermod -aG sudo user_name

退出系统:

 exit

重新进入:

wsl -d Ubuntu -u user_name

查看目录:

passlink@DESKTOP-VI6RFKU:/mnt/d/WSL/Ubuntu$ cd /
passlink@DESKTOP-VI6RFKU:/$ ls
bin   dev  home  lib    lib64   lost+found  mnt  proc  run   snap  sys  usr
boot  etc  init  lib32  libx32  media       opt  root  sbin  srv   tmp  var

修改默认用户:

nano /etc/wsl.conf

加入:

[user]
default=user_name

Ctrl + O → Enter → Ctrl + X :保存,确认,退出编辑

重启:

wsl --shutdown
wsl

请添加图片描述

7. 常见错误排查

  • Exec format error:可能导入的镜像架构和系统不匹配(amd64 vs arm64)
  • 无法挂载磁盘:检查 /etc/fstab 配置,禁用挂载出错项或修正路径
  • WSL2 内核组件未安装或版本过低,重新安装更新包
  • WSL 版本确认
wsl --list --verbose

在 Ubuntu 上安装Docker

1. 配置 Docker 官方仓库 GPG Key 和源

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgecho "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

2.更新

sudo apt update

3.安装Docker

 sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4.查看

passlink@DESKTOP-VI6RFKU:/mnt/d/WSL/Ubuntu$ sudo docker info
Client: Docker Engine - CommunityVersion:    28.2.2oad.docker.com/linux/ubuntu jammy/stable amd64 docker-buildx-plugin amd64 0.24.0-1~ubuntu.22.04~jammy Context:    defaultDebug Mode: falsenload.docker.com/linux/ubuntu jammy/stable amd64 docker-ce-rootless-extras amd64 5:28.2.2-1~ubuntu.22. Plugins:[6480 kB]buildx: Docker Buildx (Docker Inc.)nux/ubuntu jammy/stable amd64 docker-compose-plugin amd64 2.36.2-1~ubuntu.22.04~jam    Version:  v0.24.0Path:     /usr/libexec/docker/cli-plugins/docker-buildx amd64 containerd.io amd64 1.7.27-1 [30.5 MB]compose: Docker Compose (Docker Inc.)Version:  v2.36.2Path:     /usr/libexec/docker/cli-plugins/docker-composeServer:Containers: 0Running: 0Paused: 0Stopped: 0Images: 0Server Version: 28.2.2Storage Driver: overlay2Backing Filesystem: extfsSupports d_type: trueUsing metacopy: falseNative Overlay Diff: trueuserxattr: falseLogging Driver: json-fileCgroup Driver: systemdCgroup Version: 2Plugins:Volume: localNetwork: bridge host ipvlan macvlan null overlayLog: awslogs fluentd gcplogs gelf journald json-file local splunk syslogCDI spec directories:/etc/cdi/var/run/cdiSwarm: inactiveRuntimes: io.containerd.runc.v2 runcDefault Runtime: runcInit Binary: docker-initcontainerd version: 05044ec0a9a75232cad458027ca83437aae3f4darunc version: v1.2.5-0-g59923efinit version: de40ad0Security Options:seccompProfile: builtincgroupnsKernel Version: 6.6.87.1-microsoft-standard-WSL2Operating System: Ubuntu 22.04.5 LTSOSType: linuxArchitecture: x86_64CPUs: 4Total Memory: 3.3GiBName: DESKTOP-VI6RFKUID: 8607a6f8-d99e-409d-9306-209ecc78eabdDocker Root Dir: /var/lib/dockerDebug Mode: falseExperimental: falseInsecure Registries:::1/128127.0.0.0/8Live Restore Enabled: false

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/85411.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis的安装与使用

网址&#xff1a;Spring Data Redis 安装包&#xff1a;Releases tporadowski/redis GitHub 解压后 在安装目录中打开cmd 打开服务&#xff08;注意&#xff1a;每次客户端连接都有先打开服务&#xff01;&#xff01;&#xff01;&#xff09; 按ctrlC退出服务 客户端连接…

springboot-响应接收与ioc容器控制反转、Di依赖注入

1.想将服务器中的数据返回给客户端&#xff0c;需要在controller类上加注解&#xff1a;ResponseBody; 这个注解其实在前面已经使用过&#xff0c;RestController其实就包含两个注解&#xff1a; Controller ResponseBody 返回值如果是实体对象/集合&#xff0c;将会转换为j…

将材质球中的纹理属性对应的贴图保存至本地

通过Texture2D的EncodeToPNG方法将纹理转为图片形式 material.GetTexture方法通过属性名获取纹理贴图 material.SetTexture方法通过属性名设置纹理贴图 属性名可在shader代码中查看 using UnityEngine; using System.IO;public class TextureSaver : MonoBehaviour {public…

MySQL半同步复制配置和参数详解

目录 1 成功配置主从复制 2 加载插件 3 半同步复制监控 4 半同步复制参数 1 成功配置主从复制 操作步骤参考&#xff1a;https://blog.csdn.net/zyb378747350/article/details/148309545 2 加载插件 #主库上 MySQL 8.0.26 之前版本: mysql>INSTALL PLUGIN rpl_semi_syn…

【笔记】Windows 成功部署 Suna 开源的通用人工智能代理项目部署日志

#工作记录 本地部署运行截图 kortix-ai/suna&#xff1a; Suna - 开源通用 AI 代理 项目概述 Suna 是一个完全开源的 AI 助手&#xff0c;通过自然对话帮助用户轻松完成研究、数据分析等日常任务。它结合了强大的功能和直观的界面&#xff0c;能够理解用户需求并提供结果。其强…

PCB制作入门

文章目录 1 嘉立创使用旋转 2元器件选择MP2315SLM7815与LM7915 1 嘉立创使用 旋转 空格旋转 2元器件选择 MP2315S MP2315S 是一款内置功率 MOSFET 的高效率同步整流降压开关变换器。 其输入电压范围为 4.5V 至 24V &#xff0c;能实现 3A 连续输出电流&#xff0c;负载与…

2025——》NumPy中的np.logspace使用/在什么场景下适合使用np.logspace?NumPy中的np.logspace用法详解

1.NumPy中的np.logspace使用: 在 NumPy 中,np.logspace函数用于生成对数尺度上等间距分布的数值序列,适用于科学计算、数据可视化等需要对数间隔数据的场景。以下是其核心用法和关键细节: 一、基础语法与参数解析: numpy.logspace(start, stop, num=50, endpoint=True, ba…

Java实现中文姓名转拼音生成用户信息并写入文件

中文姓名转拼音 Java实现中文姓名转拼音生成用户信息并写入文件&#xff08;shili域名版&#xff09;一、项目背景与功能简介二、技术栈与核心组件2.1 主要技术2.2 功能模块 三、核心代码解析3.1 主函数逻辑&#xff08;流程控制&#xff09;3.2 拼音转换模块&#xff08;核心功…

Google car key:安全、便捷的汽车解锁新选择

有了兼容的汽车和 Android 手机&#xff0c;Google car key可让您将Android 手机用作车钥匙。您可以通过兼容的 Android 手机锁定、解锁、启动汽车并执行更多功能。但是&#xff0c;Google car key安全吗&#xff1f;它是如何工作的&#xff1f;如果我的手机电池没电了怎么办&a…

如何轻松将 iPhone 备份到外部硬盘

当您的iPhone和电脑上的存储空间有限时&#xff0c;您可能希望将iPhone备份到外部硬盘上&#xff0c;这样可以快速释放iPhone上的存储空间&#xff0c;而不占用电脑上的空间&#xff0c;并为您的数据提供额外的安全性。此外&#xff0c;我们还提供 4 种有效的解决方案&#xff…

AI炼丹日志-22 - MCP 自动操作 Figma+Cursor 自动设计原型

MCP 基本介绍 官方地址&#xff1a; https://modelcontextprotocol.io/introduction “MCP 是一种开放协议&#xff0c;旨在标准化应用程序向大型语言模型&#xff08;LLM&#xff09;提供上下文的方式。可以把 MCP 想象成 AI 应用程序的 USB-C 接口。就像 USB-C 提供了一种…

机器学习-线性回归基础

一、什么是回归 依据输入x写出一个目标值y的计算方程&#xff0c;求回归系数的过程就叫回归。简言之&#xff1a;根据题意列出方程&#xff0c;求出系数的过程就叫做回归。 回归的目的是预测数值型的目标值y&#xff0c;分类的目的预测标称型的目标值y。 二、线性回归 2.1线性…

解决RAGFlow(v0.19.0)有部分PDF无法解析成功的问题。

ragflow版本为&#xff1a;v0.19.0 1.解析的时候报错&#xff1a;Internal server error while chunking: Coordinate lower is less than upper。 看报错怀疑是分片的问题&#xff0c;于是把文档的切片方法中的“建议文本块大小”数值&#xff08;默认512&#xff09;调小&…

【前端】html2pdf实现用前端下载pdf

npm安装完后&#xff0c;编写代码。 <template><div id"pdf-content">需要被捕获为pdf的内容</div> </template><script> import html2pdf from html2pdf.js;export default {methods: {downloadPdf() {const element document.getE…

从零实现富文本编辑器#4-浏览器选区模型的核心交互策略

先前我们提到了&#xff0c;数据模型的设计是编辑器的基础模块&#xff0c;其直接影响了选区模块的表示。选区模块的设计同样是编辑器的基础部分&#xff0c;编辑器应用变更时操作范围的表达&#xff0c;就需要基于选区模型来实现&#xff0c;也就是说选区代表的意义是编辑器需…

数论——质数和合数及求质数

质数、合数和质数筛 质数和合数及求质数试除法判断质数Eratosthenes筛选法&#xff08;埃氏筛&#xff09;线性筛&#xff08;欧拉筛&#xff09; 质数有关OJ列举P1835 素数密度 - 洛谷简单的哥赫巴德猜想和cin优化 质数和合数及求质数 一个大于 1 的自然数&#xff0c;除了 1…

多商户系统源码性能调优实战:从瓶颈定位到高并发架构设计!

在电商业务爆发式增长的今天&#xff0c;多商户系统作为支撑平台方、入驻商家和终端消费者的核心枢纽&#xff0c;其性能表现直接决定了商业变现效率。当你的商城在促销期间崩溃&#xff0c;损失的不仅是订单&#xff0c;更是用户信任。 本文将深入剖析多商户系统源码性能优化的…

JDBC连不上mysql:Unable to load authentication plugin ‘caching_sha2_password‘.

最近为一个spring-boot项目下了mysql-9.3.0&#xff0c;结果因为mysql版本太新一直报错连不上。 错误如下&#xff1a; 2025-06-01 16:19:43.516 ERROR 22088 --- [http-nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispat…

超标量处理器设计6-指令解码

1. 指令缓存 指令缓存本质上是一个FIFO, 它能够将指令按照程序中指定的顺序存储起来&#xff0c;这样指令在解码的时候&#xff0c;仍然可以按照程序中指定的顺序进行解码。指令缓存是超标量处理器中必须的部件&#xff0c;其原因有两个&#xff1a; 1. 每周期可以取指的个数大…

基于 HT for Web 轻量化 3D 数字孪生数据中心解决方案

一、技术架构&#xff1a;HT for Web 的核心能力 图扑软件自主研发的 HT for Web 是基于 HTML5 的 2D/3D 可视化引擎&#xff0c;核心技术特性包括&#xff1a; 跨平台渲染&#xff1a;采用 WebGL 技术&#xff0c;支持 PC、移动端浏览器直接访问&#xff0c;兼容主流操作系统…