用 WSL 快速部署 Docker:Windows 下的轻量容器环境搭建指南

目录

为什么要使用Docker

部署 Docker

前置条件

一,使用wsl 搭建Docker需要的基础环境

一 ,开启 WSL 2

二,指定发行版安装

​编辑

三,手动指定发行版安装

 四,补充,搭建Docker环境,会遇到的问题,及其解决办法

五,验证安装

 六,更换国内源(解决 Ubuntu 下载软件慢的问题)

一,为防止意外,提前备份 源文件

二,更新系统软件包

三,验证 WSL 版本(确认是 WSL2)

二,下载 docker安装包

一,下载 docker安装包

二,更新 wsl

一,使用命令更新wsl

二,到gitup,下载最新的wsl 安装包

三,wsl2集成docker

一,怎么将wsl2 和docker串联在一起呢?

四,配置国内镜像加速从docker远程仓库下载镜像


为什么要使用Docker

传统发布是 开发+运维合作。开发将写的代码打成包,并且告诉运维代码应该在什么样的环境启动,最后由运维,完成将开发环境的代码,发布到生产环境。

但会出现一个 问题,由“开发” 告诉“运维” 这个环境 这个是什么样的,比如要求:redis 版本要使用7.0;maven 使用 3.9.6 ;jdk 使用1.8  的 等等等 但是最后由运维一一配好后,运行代码可能会差强人意,看不到想要的效果!

这时候,如果有一个东西,能够 让 开发 打包代码的同时,将开发环境一并打包到jar 包中,jar包=代码+配置(环境)最后, 发布到生产环境,这样就避免了生产环境和开发环境不同步的问题

恰好 Docker 就是做这件事情的!


部署 Docker

前置条件

  • 一般情况下,都是符合条件的
前置条件(务必确认)系统版本要求:Windows 10:需升级到 2004 及以上版本(Build 19041+),否则不支持 WSL 2;Windows 11:无版本限制,原生支持 WSL 2 全功能。硬件虚拟化开启:按 Ctrl+Shift+Esc 打开任务管理器 → 性能 → CPU → 查看 “虚拟化” 是否为 “已启用”;若未启用,重启电脑进入 BIOS(Del/F2/F10),开启「Virtualization Technology(VT-x/AMD-V)」。

命令行权限说明:所有 wsl/dism 相关命令,均需以管理员身份打开 CMD/PowerShell 执行。

一,使用wsl 搭建Docker需要的基础环境

一 ,开启 WSL 2

cmd命令行 /powershell 管理员身份打开 

输入:

wsl --install

这个命令会自动:

  • 启用 “适用于 Linux 的 Windows 子系统” 和 “虚拟机平台” 功能;
  • 下载并安装 WSL 2 内核更新包(Windows 11 已集成,Windows 10 需手动补装);
  • 下载并安装默认的 Linux 发行版(Ubuntu)。
  • 自动将 WSL 版本设置为 2。

但执行该命令之后,打印结果,如果 发现未能实现预期效果。如图所示,表示 启用了 WSL 功能,但未安装任何 Linux 发行版

C:\Users\Administrator>wsl --install 版权所有(c) Microsoft Corporation。保留所有权利。 用法: wsl.exe [Argument] [Options...] [CommandLine] 运行 Linux 二进制文件的参数: 如果未提供命令行,wsl.exe 将启动默认 shell。 --exec, -e <CommandLine> 在不使用默认 Linux Shell 的情况下执行指定的命令。 -- 按原样传递其余命令行。 选项: --cd <Directory> 将指定目录设置为当前工作目录。 如果使用了 ~,则将使用 Linux 用户的主页路径。如果路径 以 / 字符开头,将被解释为绝对 Linux 路径。 否则,该值一定是绝对 Windows 路径。 --distribution, -d <Distro> 运行指定分发。 --user, -u <UserName> 以指定用户身份运行。 管理适用于 Linux 的 Windows 子系统的参数: --help 显示用法信息。 --install [选项] 安装额外的适用于 Linux 的 Windows 子系统分发。 要获得有效分发列表,请使用“wsl --list --online”。 选项: --distribution, -d [参数] 按名称下载并安装分发。 参数: 有效分发名称(不区分大小写)。 示例: wsl --install -d Ubuntu wsl --install --distribution Debian --set-default-version <Version> 更改新分发的默认安装版本。 --shutdown 立即终止所有运行的分发及 WSL 2 轻型实用工具虚拟机。 --status 显示适用于 Linux 的 Windows 子系统的状态。 --update [Options] 如果未指定任何选项,则将 WSL 2 内核更新 为最新版本。 选项: --rollback 恢复为 WSL 2 内核的先前版本。 --inbox 仅更新收件箱 WSL 2 内核。不要从 Microsoft Store 下载 WSL。 --web-download 从 Internet 而不是 Microsoft Store 下载最新版本的 WSL。 用于管理适用于 Linux 的 Windows 子系统中的分发的参数: --export <Distro> <FileName> 将分发导出到 tar 文件。 对于标准输出,文件名可以是 -。 --import <Distro> <InstallLocation> <FileName> [Options] 将指定的 tar 文件作为新分发导入。 对于标准输入,文件名可以是 -。 选项: --version <Version> 指定要用于新分发的版本。 --list, -l [Options] 列出分发。 选项: --all 列出所有分发,包括 当前正在安装或卸载的分发。 --running 仅列出当前正在运行的分发。 --quiet, -q 仅显示分发名称。 --verbose, -v 显示所有分发的详细信息。 --online, -o 显示使用“wsl --install”进行安装的可用分发列表。 --set-default, -s <分发> 将分发设置为默认值。 --set-version <分发> <版本> 更改指定分发的版本。 --terminate, -t <分发> 终止指定的分发。 --unregister <分发> 注销分发并删除根文件系统。
  • 系统已经启用了 WSL 功能,但未安装任何 Linux 发行版
  • 命令缺少指定发行版的参数,或系统版本 / 配置不满足默认安装条件

结论:若执行wsl --install仅打印命令用法,说明你的系统已启用 WSL 功能但无默认发行版,或系统版本低于 2004(不支持一键安装发行版),需手动指定发行版安装(wsl --install -d Ubuntu-24.04)。


二,指定发行版安装

查看可选发行版

wsl --list --online

三,手动指定发行版安装
wsl --install -d Ubuntu-24.04
 四,补充,搭建Docker环境,会遇到的问题,及其解决办法

一,如图所示:下载后发现 系统已经启用了 WSL 功能,但缺少 WSL2 运行必需的内核更新包。

解决办法:参照 下载 docker安装包-更新wsl 步骤

二,如果 使用wsl -- install命令无法 设置 WSL2 为默认版本

wsl --set-default-version 2

三,如果 使用wsl -- install命令无法 启用 “适用于 Linux 的 Windows 子系统” 和 “虚拟机平台” 功能;

快速启用 “适用于 Linux 的 Windows 子系统” 状态

dism.exe /online /get-featureinfo /featurename:Microsoft-Windows-Subsystem-Linux

快速启用 “虚拟机平台” 功能

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

结果判断:
如果输出中包含 State : Enabled → 功能已启用;
如果是 State : Disabled → 功能未启用。

执行完成后,重启电脑让功能生效。


五,验证安装

方法一:

# 查看已安装的 WSL 发行版及版本 wsl --list --verbose

如图所示,可以看见Ubuntu-24.04 成功安装,并且当前环境是wsl2

方法二:

wsl --version

安装完成后就能正常启动 Ubuntu,按提示设置用户名和密码即可~

如下图所示,

Installing, this may take a few minutes... Please create a default UNIX user account. The username does not need to match your Windows username. For more information visit: https://aka.ms/wslusers Enter new UNIX username: dj New password: Retype new password: passwd: password updated successfully Installation successful! 适用于 Linux 的 Windows 子系统现已在 Microsoft Store 中可用! 你可以通过运行“wsl.exe --update”或通过访问 https://aka.ms/wslstorepage 进行升级 从 Microsoft Store 安装 WSL 将可以更快地获取最新的 WSL 更新。 有关详细信息,请访问 https://aka.ms/wslstoreinfo To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 5.10.16.3-microsoft-standard-WSL2 x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/pro System information as of Sun Jan 11 17:48:43 CST 2026 System load: 0.09 Processes: 9 Usage of /: 0.5% of 250.98GB Users logged in: 0 Memory usage: 1% IPv4 address for eth0: 172.21.14.172 Swap usage: 0% This message is shown once a day. To disable it please create the /home/dj/.hushlogin file. dj@Administrator:~$

 当上面的步骤,都走完后,可以打开cmd命令行,输入wsl ,回车进入了window子系统Linux 


 六,更换国内源(解决 Ubuntu 下载软件慢的问题)
一,为防止意外,提前备份 源文件
# 备份源文件 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 替换为阿里云源(24.04版本,代号noble) sudo tee /etc/apt/sources.list > /dev/null <<EOF deb http://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse EOF
二,更新系统软件包

如下所示:

sudo apt update && sudo apt upgrade -y
三,验证 WSL 版本(确认是 WSL2)
wsl --list --verbose

二,下载 docker安装包

一,下载 docker安装包

下载链接:https://docs.docker.com/desktop/setup/install/windows-install/

下载之后,双击安装包,安装默认设置,点击即可

双击进入Docker Desktop 进入,你可以看见首页面,要你登录,注册啥的,不用管,点基continue 跳过,来到下面这个图片的界面

选 “不登录”原因:
日常使用 Docker 的基础功能(拉取镜像、运行容器、管理容器等)都不需要登录账号,只有用 Docker 的在线订阅、云镜像仓库等高级功能时才需要登录。所以直接点「Continue without signing in」,就能快速进入主界面开始用 Docker 了。


如果你看见,你的界面显示,你的wsl 版本太低,要求你更新wsl的内核安装包

本质:是需要更新 WSL 的内核及组件(包含内核安装包的更新),和之前的 “缺少内核包” 是类似的问题

二,更新 wsl

前提: 使用梯子,下载更新的wsl

一,使用命令更新wsl

一,使用cmd/powershell管理员权限 打开

输入:

wsl --update

如果,我使用powershell ,管理员身份执行该命令,但会发现如果不启用梯子,会很慢

二,到gitup,下载最新的wsl 安装包

链接:https://github.com/microsoft/WSL/releases

下载后,双击,即可,选择默认配置

成功打开Docker!!!

三 ,验证 Docker 安装成功

在 WSL 的 Ubuntu 终端执行:

docker --version # 查看 Docker 版本 docker run hello-world # 运行测试容器

三,wsl2集成docker

通俗的说,就是可以在wsl环境中,敲docker命令,不需要使用docker界面工具

问题:当你上面的步骤,都配置好之后,你进入 wsl环境中,敲了这样的命令:

docker run hello world

但是很遗憾,报错了!

一,怎么将wsl2 和docker串联在一起呢?

看到resource下的WSL integration,勾选 UBuntu-24.04,然后重启

通过DockerDesktop 中的设置关联上WSL,可以在wsl环境中使用 docker命令

应用成功!

根据下面的图片发现,他会自动检查你写的docker命令的正确性,比如我这个写的 docker hello world 表示有问题!

重新输入命令,这个是正常的,因为本地确实没有这个镜像,会从远程仓库,去拉取

补充:当你第一次 通过DockerDesktop 中的设置关联上WSL,可以在wsl环境中使用 docker命令,但是当你第二次重新使用wsl 环境 ,敲击 docker命令时,会发现 dockers 未集成WSL ,需要你重新在 DockerDesktop 中的设置关联上WSL,

四,配置国内镜像加速从docker远程仓库下载镜像

复制后,直接粘贴到指定位置,然后重启 docker,就可以了

{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "experimental": false, "registry-mirrors": [ "https://registry.cn-hangzhou.aliyuncs.com", "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] }

Read more

Linux《进度条》

Linux《进度条》

在之前的Linux基础开发工具当中我们已经了解了vim、gcc、makefile等基本的开发工具,那么有了这些开发工具我们就可以来实现我们Linux旅程当中的第一个程序——进度条。相信通过该项目的实现能让你对vim等开发工具更加的熟悉。一起加油吧!!! 1.补充知识回车与换行  在实现进度条的项目之前我们先要来了解关于回车和换行的基础补充知识,在了解之后才能让接下来的项目的编写更加的顺畅。 首先我们要了解的是回车和换行有什么区别,此时你可能就会疑惑这两个实现的效果不是一样的吗?我们在点击回车的时候不就是实现了换行了吗? 其实这两个实现的效果是不同的,只不过在现代的计算机当中基本将这两个概念不进行区分了,但在上个实际使用的老式打字机上换行自是将对应的纸向下移动,而要将实现回车还需要将指针移动回起始位置。 那通过以上的示例就可以理解在现代的计算机当中回车其实是 换行+回车 的,通过以下的老式键盘就可以看出这一特点 其实在之前在C语言当中使用的\n就是本质上就是实现了换行+回车的功能,\r实现的就是回车的功能。  2.练手小程序——倒计时 以上我

By Ne0inhk
RabbitMQ: 全面安装与运维指南之从基础部署到高级配置

RabbitMQ: 全面安装与运维指南之从基础部署到高级配置

RabbitMQ 安装指南(Windows/macOS/Linux) 1 ) 核心注意事项: 1. 跨平台支持: RabbitMQ 基于 Erlang/OTP 开发,支持 Windows、Linux、macOS 系统,无需为开发环境额外配置 Linux 虚拟机或服务器。 2. 生产环境规范: 生产环境推荐使用 Linux 系统,Windows/macOS 仅适用于开发调试。 3. 官方渠道下载: 必须通过官网下载安装包,避免后门风险(例:Xcode 编译器木马事件导致 iOS 应用安全漏洞)。 2 ) 安装步骤: 1. 安装 Erlang/OTP(依赖环境): * 访问 Erlang 官网 下载对应系统版本(

By Ne0inhk
Linux 进程创建与终止全解析:fork 原理 + 退出机制实战

Linux 进程创建与终止全解析:fork 原理 + 退出机制实战

🔥草莓熊Lotso:个人主页 ❄️个人专栏: 《C++知识分享》《Linux 入门到实践:零基础也能懂》 ✨生活是默默的坚持,毅力是永久的享受! 🎬 博主简介: 文章目录 * 前言: * 一. 进程创建:fork 函数的底层逻辑与实战 * 1.1 fork 函数基础用法 * 1.2 fork 的底层工作流程 * 1.3 写时拷贝技术:父子进程的 “分离术” * 1.4 fork 的常见用法与失败场景 * 二. 进程终止:资源释放与退出机制 * 2.1 进程退出的三种场景 * 2.2 进程终止的三种方法 * 2.3 退出码:进程的 “执行结果报告” * 结尾: 前言:

By Ne0inhk

OpenClaw 系统架构分析

带你深入了解OpenClaw的架构和核心流程。 1. 架构概述 OpenClaw 采用插件化的 Gateway 控制平面架构,结合多渠道消息系统和跨平台客户端应用,构建了一个完整的个人 AI 助手生态系统。 核心架构特征 1. Gateway 控制平面: 单一 WebSocket 服务器管理所有会话、渠道和事件 2. 多渠道消息系统: 统一抽象层支持 15+ 消息平台 3. 插件化扩展: Monorepo 架构下的独立插件包 4. 跨平台客户端: CLI + macOS App + iOS/Android 节点 5. AI 代理引擎: 基于 Pi Agent 的 RPC 模式代理 6. 本地优先设计: 数据和会话本地存储,隐私可控 2.

By Ne0inhk