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

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.xdnf.cn/news/755623.html

相关文章:

  • 基于微信小程序的scratch学习系统
  • 图像数据如何表示为概率单纯形
  • Github 2025-06-01开源项目月报 Top20
  • 构建系统maven
  • 水系电池的“再登场”
  • 使用lighttpd和开发板进行交互
  • Node.js 全栈技术栈的开发者,Web3 面试题
  • 从架构视角设计统一网络请求体系 —— 基于 uni-app 的前后端通信模型
  • 如何使用 Docker 部署grafana和loki收集vllm日志?
  • IDEA常用快捷键
  • 6.1 数学复习笔记 23
  • Freefilesync配置windows与windows,windows与linux之间同步
  • LTSPICE仿真电路:(三十二)差动放大器电流源
  • openssl 怎么生成吊销列表
  • 【论文解读】DETR | End-to-End Object Detection with Transformers
  • 分类预测 | Matlab实现CNN-LSTM-Attention高光谱数据分类
  • 多线程——线程池
  • Linux下目录递归拷贝的单进程实现
  • C++读写锁以及实现方式
  • 深入理解短链服务:原理、设计与实现全解析
  • 6级翻译学习
  • 蓝桥云课ROS学习C++教程cpp-geeksforgeeks版本
  • Vue-1-前端框架Vue基础入门之一
  • 6、在树莓派上安装 NTP(Network Time Protocol )服务的步骤
  • Linux --进程状态
  • 论文阅读笔记——Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset
  • 《Python语言程序设计》2018 第4章第9题3重量和价钱的对比,利用第7章的概念来解答你
  • 广东WordPress开发公司及服务
  • 2025年渗透测试面试题总结-奇安信[实习]安全服务工程师(题目+回答)
  • 深入探讨redis:万字讲解集群