Docker快速入门——Windowns系统下Docker安装(2025最新理解与完整,附带WSL1如何升级为WSL2)

前期准备

Windows 系统安装 Docker 时推荐先安装 WSL 2(Windows Subsystem for Linux 2),主要是因为 Docker 本质上是为 Linux 设计的容器技术,而 WSL 2 为 Windows 提供了一个轻量级、高性能的 Linux 内核环境,使 Docker 能在 Windows 上原生、高效地运行。

"注意:Windows 11 家庭版不支持 Hyper-V,WSL 2 是运行 Docker 的唯一可行方案。

Docker 的核心功能(如 容器隔离、cgroups、namespaces、OverlayFS 文件系统 等)都依赖于 Linux 内核

Windows 内核(NT 内核)并不原生支持这些特性

1.启动"Windows 子系统 Linux"

以管理员身份打开PowerShell(按下 Win + R 键,打开"运行"对话框。输入 powershell,然后按 Ctrl + Shift + Enter 键)并运行

复制代码
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

2.启动'虚拟化"可选功能

以管理员身份打开PowerShell(按下 Win + R 键,打开"运行"对话框。输入 powershell,然后按 Ctrl + Shift + Enter 键)并运行:

复制代码
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重启系统,完成WSL安装并更新到WSL2。

" 此方法适用于所有 Windows 10(1903+)和 Windows 11 用户,包括家庭版。 "

查看WSL版本和发行版

复制代码
wsl -l -v

当前状态是 "Stopped"(已停止)

  • 这是正常状态!WSL 2 的 Linux 实例默认在没有活动进程时自动停止,以节省资源。
  • 当你执行 wsldocker 命令时,它会自动启动

安装成功后,打开任务管理器(win+x)即可看到虚拟化已启用:

一、安装Docker Desktop

官网下载地址:https://www.docker.com/products/docker-desktop/

1.根据自己电脑版本选择下载:

win+R输入cmd,再输入

复制代码
wmic os get osarchitecture

输出结果会显示 64-bitARM64。

2.双击开始安装,进行配置

  • Use WSL 2 instead of Hyper-V (recommended) : 启用虚拟化,以 WSL 2 替代 Hyper-V;
  • Add shortcut to desktop : 安装成功后添加桌面快捷启动图标;
  • 是否要为所有用户安装看自己的需求进行勾选

将两个选项都勾选上,然后点击【ok】,开始安装

选择Accept

找到小图标右键

点击Extensions------>Settings

在输入框中,添加如下镜像加速地址:

复制代码
  "registry-mirrors": [
	"https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
    "https://docker.m.daocloud.io",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://your_preferred_mirror",
    "https://dockerhub.icu",
    "https://docker.registry.cyou",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://docker.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://mirror.aliyuncs.com",
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://mirror.iscas.ac.cn",
    "https://docker.rainbond.cc"
  ]

添加时,需要符合 Json 格式,即 "experimental": false 末尾还需要添加一个逗号 ,配置完成后,点击 Apply & restart 按钮

WSL1如何升级为WSL2

一. 确认系统满足要求

  • Windows 10:版本 2004 或更高(Build 19041+)
  • Windows 11:任意版本

已启用以下两个可选功能(若未启用,请先启用):

  • Windows 子系统 Linux
  • 虚拟机平台

以管理员身份运行 PowerShell,执行:

dism /online /get-features | findstr "Subsystem-Linux\|VirtualMachinePlatform"

确保两项状态为 Enabled

二、升级步骤(仅需一条命令)

步骤 1:设置 WSL 2 为默认版本(推荐)

复制代码
wsl --set-default-version 2

此命令确保以后新安装的 Linux 发行版默认使用 WSL 2

步骤 2:将现有发行版升级到 WSL 2

复制代码
wsl --set-version <发行版名称> 2

例如,如果你的发行版叫 Ubuntu-20.04

复制代码
wsl --set-version Ubuntu-20.04 2

升级过程需要 1--5 分钟(取决于发行版大小),你会看到进度提示。

三、验证是否升级成功

运行

复制代码
wsl -l -v

正常输出 VERSION变为 2

复制代码
  NAME           STATE      VERSION
* Ubuntu-20.04   Stopped    2   ← VERSION 变为 2

你也可以进入 Linux 环境,检查内核版本:

复制代码
wsl
uname -r

如果输出包含 microsoft-standard-WSL2,说明已成功运行在 WSL 2 上:

复制代码
5.10.16.3-microsoft-standard-WSL2

四、注意事项

1. 升级不会丢失数据

  • 所有文件、用户账户、已安装的软件全部保留
  • 升级过程是原地转换,安全可靠

2. 网络和 IP 地址变化

  • WSL 2 使用虚拟化网络,每次启动会分配新的 IP 地址
  • 如果你之前通过 localhost 访问服务(如 Web 服务器、数据库),仍然可用(Windows 会自动转发)
  • 但若需从 WSL 访问 Windows 服务,应使用 host.docker.internal$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')

3. 文件系统性能

  • Linux 内部文件操作 (如 /home):WSL 2 性能远超 WSL 1
  • 访问 Windows 文件 (如 /mnt/c/):WSL 2 略慢于 WSL 1
    建议:开发项目放在 Linux 文件系统中 (如 ~/projects
相关推荐
Leinwin4 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
2401_865382505 小时前
信息化项目运维与运营的区别
运维·运营·信息化项目·政务信息化
漠北的哈士奇5 小时前
VMware Workstation导入ova文件时出现闪退但是没有报错信息
运维·vmware·虚拟机·闪退·ova
如意.7595 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
运维小欣5 小时前
智能体选型实战指南
运维·人工智能
yy55275 小时前
Nginx 性能优化与监控
运维·nginx·性能优化
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ6 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
05大叔8 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络
安当加密8 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
dashizhi20158 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑