【Windows11+WSL2+Docker(非桌面版)配置教程与常见报错解决(2025)】


前言

跨平台开发和高效部署已成为开发者们追求的目标。Windows 11通过 WSL2(Windows Subsystem for Linux 2)和Docker的集成,可以为开发者提供强大的工具链,使得在Windows环境下进行Linux开发和容器化部署变得更加便捷。本文将详细介绍如何在Windows 11上配置WSL2和Docker,帮助你快速搭建一个高效、便捷的开发环境。


1. 安装Hyper-V(非专业版Windows11)

由于非专业版 Windows11 没有Hyper-V选项,需要安装Hyper-V。桌面新建文本文档1.txt,输入下面内容

pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

修改文件后缀为.bat,管理员身份运行该文件,完成后关闭并重启电脑即可。

2. 系统设置

打开控制面板 -> 程序 -> 启用或关闭Windows功能,开启如下选项。

3. WSL设置

打开cmd命令行窗口,执行如下命令,更新WSL版本到最新

wsl --update

若更新进度缓慢,可以在这里 手动下载最新版进行安装,下载完成后双击打开即可安装。

以管理员身份运行windows power shell,输入以下命令选择WSL版本为WSL2

# 将 WSL 默认版本设置为 WSL 2
wsl --set-default-version 2

4. 下载并安装发行版Ubuntu22.04

下载安装前先检查系统中是否安装了其他系统。

wsl -l -v

在这里插入图片描述
进入该链接进行下载:https://learn.microsoft.com/zh-cn/windows/wsl/install-manual
下载完成后直接双击打开进行安装。

等待弹出界面:
在这里插入图片描述
设置用户名和密码(别太复杂,以后会频繁使用)即可安装完成。

5. 更新软件源和软件包

在开始菜单中打开Ubuntu即可运行Ubuntu
在这里插入图片描述
先备份原来的软件源:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

在这里插入图片描述
编辑软件源:

# 编辑软件源
sudo nano /etc/apt/sources.list

将原来的内容替换为下面的内容(可自行搜索nano编辑文本的快捷键以及如何保存并退出):

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

设置完成后保存并退出。
继续在Ubuntu命令行中执行如下命令:

# 更新软件源
sudo apt-get update -y
# 升级所有软件
sudo apt-get upgrade -y

即可完成软件更新。

6. docker配置

# 在 ubuntu 执行
sudo apt-get update # 更新内核
sudo apt-get install ca-certificates curl gnupg #安装依赖

导入 Docker 官方 GPG 密钥

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

添加Docker官方仓库

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装docker

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

测试是否安装成功

docker -v

在这里插入图片描述

#运行docker
sudo service docker start		
# 然后拉取测试环境
docker pull hello-world

不出现报错即成功。

7. docker拉取镜像报错,解决办法

拉取镜像时出现如下错误:
permission denied while trying to connect to the Dockerdaemonsocket at unix:///var/run/docker.sock:Post"http://%2Fvar%2Frun%2Fdocker,sock/v1.48/images/create?fromImage=hello-world&tag=latest": dial unix /var/run/docker.sock: connect: permission denied
在这里插入图片描述
从上面的报错信息上看出,当试图通过socket去连接docker时权限不被允许。这是因为socket需要root用户才能访问,当前用户的权限不够,所以被禁止了。
添加docker的用户组,把当前用户加入组中。

#添加用户组
sudo groupadd docker     
#将当前用户<username是你的用户名>添加至用户组         
sudo gpasswd -a username docker    
#更新用户组
newgrp docker                    

错误解决,此时作者电脑出现新的错误:
Using default tag: latestMe0u卡Ceededwhi1e61Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connect
在这里插入图片描述
Docker 无法连接到 Docker Hub(registry-1.docker.io),可能是由于网络不稳定、代理设置问题等
我们首先 cd 进入/etc/docker/文件夹,创建 daemon.json

sudo touch daemon.json

然后使用nano打开该json文件

sudo nano daemon.json  

写入以下内容

{
    "registry-mirrors" : [
      "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"
  ]
}

按ctrl +x 退出,选择 y 进行保存,再按回车键返回命令行界面。

重新回到Ubuntu中,重启服务

sudo service docker restart

在这里插入图片描述
重新拉取:

docker pull hello-world

在这里插入图片描述
成功!

8. service与systemctl 命令报错问题

当运行以下命令时会报错,如果改成 sudo service docker start 则不会报错,这是因为在WSL的ubuntu中默认支持老版本的service命令,但是systemctl命令更强大,因此可以激活该命令。
在这里插入图片描述
输入以下命令,发现使用的是SysV init(sysvinit)初始化系统

 ps -p 1

在这里插入图片描述
解决方式:首先在etc目录下新建文件wsl.conf

sudo nano wsl.conf

然后写入以下内容:

[boot]
systemd=true

保存后,运行 :wsl --shutdown 关闭wsl服务,再重新启动Ubuntu。
在这里插入图片描述
成功解决!


总结

本文配置了Windows11(非专业版)下的WSL2和Docker开发环境,并针对配置环境中可能出现的常见错误提供了解决方案。如果有其他问题,欢迎评论区留言讨论。

参考

windows11 安装WSL2全流程
windows11 搭建 WSL2 运行环境(2024)
Windows安装 WSL2、Ubuntu 、docker(详细步骤 , 弃用 docker desktop )
WSL(Windows Subsystem for Linux)安装、迁移D盘、设置默认登录账户、更改root密码和授予普通用户sudo权限
Windows11 WSL中Llinux报错:System has not been booted with systemd as init system (PID 1). Can‘t operate

<think>好的,用户需要Windows 10安装Docker教程指南。首先,我得确认DockerWindows上的安装要求。记得Docker Desktop for Windows需要Hyper-V和WSL 2的支持,所以得先检查系统是否符合条件。用户可能使用的是家庭版还是专业版?家庭版可能需要额外步骤启用Hyper-V。 接下来,安装步骤大概分几个部分:启用功能、下载安装包、安装过程、验证安装。可能需要详细说明每一步的操作,比如如何启用Hyper-V和WSL 2,特别是对于不太熟悉系统设置的用户,需要给出具体的路径和命令。 然后,可能会遇到常见问题,比如安装后Docker无法启动,或者WSL 2未正确安装。需要提前想到这些情况,给出解决方案,比如手动安装WSL 2内核更新,或者检查BIOS中的虚拟化设置是否开启。 另外,用户可能不知道如何测试安装是否成功,所以需要指导他们运行简单的docker命令,比如docker run hello-world,并解释预期结果。 还要注意版本兼容性,比如Windows 10的特定版本要求,以及系统位数(64位)。如果用户的系统不满足,可能需要建议升级系统或使用替代方案,比如Docker Toolbox,但可能性能较差。 最后,结构要清晰,分步骤说明,用列表和代码块让用户容易跟随。避免使用专业术语过多,保持语言简洁明了,适合不同技术水平的用户理解。需要确保所有命令和操作都准确无误,避免用户操作时出错。</think>### Windows 10 安装 Docker 分步指南 --- #### **一、安装前准备** 1. **系统要求** - Windows 10 64位(专业版/企业版/教育版,版本 1903 或更高) - 启用 **Hyper-V** 和 **WSL 2**(Windows 子系统 Linux 2) - 至少 4GB 内存(推荐 8GB 以上) 2. **检查虚拟化是否启用** - 按 `Ctrl + Shift + Esc` 打开任务管理器 → 选择“性能”选项卡 → 查看“虚拟化”是否显示“已启用”。 - 若未启用,需进入 BIOS/UEFI 开启虚拟化(通常为 Intel VT-x 或 AMD-V)。 --- #### **二、启用必要功能** 1. **启用 Hyper-V** - 以管理员身份打开 PowerShell,执行: ```powershell Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All ``` - 重启电脑。 2. **启用 WSL 2** - PowerShell 中依次执行: ```powershell dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart ``` - 重启后,下载并安装 [WSL 2 内核更新包](https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi)。 --- #### **三、安装 Docker Desktop** 1. **下载安装包** 访问 [Docker 官网](https://www.docker.com/products/docker-desktop) → 下载 WindowsDocker Desktop。 2. **安装步骤** - 双击安装文件 `Docker Desktop Installer.exe`。 - 勾选 **Install required Windows components for WSL 2** → 点击“OK”。 - 安装完成后重启电脑。 --- #### **四、配置验证** 1. **启动 Docker Desktop** - 桌面双击 Docker 图标 → 等待状态栏显示“Docker Desktop is running”。 2. **验证安装** - 打开 PowerShell,输入: ```powershell docker --version ``` 输出类似 `Docker version 24.0.6, build ed223bc` 表示成功。 3. **运行测试容器** ```powershell docker run hello-world ``` - 若显示 `Hello from Docker!` 说明配置正确。 --- #### **五、常见问题解决** 1. **Docker 无法启动** - 检查 Hyper-V 和 WSL 2 是否启用。 - 尝试重置 Docker:右击系统托盘 Docker 图标 → **Troubleshoot** → **Reset to factory defaults**。 2. **WSL 2 报错** - 手动设置 WSL 2 为默认版本: ```powershell wsl --set-default-version 2 ``` 3. **网络问题** - 若镜像拉取失败,可配置国内镜像源(如阿里云、中科大): ```json // 编辑 Docker Desktop 设置 → Docker Engine → 添加: "registry-mirrors": ["https://<your-mirror-id>.mirror.aliyuncs.com"] ``` --- #### **六、卸载 Docker** 1. 控制面板 → 卸载程序 → 选择 **Docker Desktop** → 卸载。 2. 清理残留文件(可选): - 删除 `C:\Program Files\Docker` - 删除 `C:\Users\<用户名>\.docker` --- ✅ 完成以上步骤后,即可在 Windows 10 上使用 Docker 运行容器化应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值