Windows运行docker

Windows

windows下面运行docker,需要使用WSL
WSL(Windows Subsystem for Linux) 是微软为 Windows 用户提供的一个子系统,它允许你在 Windows 上原生运行 Linux(不是虚拟机,不是双系统),直接使用 Bash、apt、gcc、Python、Node.js 等 Linux 工具。

方法一:wsl一键安装(推荐)--菜鸟教程

一键安装的方式是最推荐的方式,由于服务在国外可能导致速度十分的慢
如果有条件可以自己做代理加快速度

wsl --install

方法二:手动安装(适合定制需求)--菜鸟教程

1、启用 WSL 功能和虚拟机平台

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

2、下载并安装 Linux 内核更新包

👉 下载地址:https://aka.ms/wsl2kernel

3、设置默认 WSL 版本为 WSL2

wsl --set-default-version 2

4、从 Microsoft Store 安装 Linux 发行版(如 Ubuntu)
image

wsl --install -d Ubuntu

挂载到固定硬盘

我们不想安装都在c盘,可以挂载到e盘,之后所有的操作都在e盘操作
如果希望 WSL 的所有内容(包括系统文件、应用程序、用户数据等)都存储在 E 盘,最彻底的方法是将整个 WSL 实例迁移到 E 盘(即让 WSL 的虚拟磁盘文件.vhdx存储在 E 盘,整个 Linux 系统的所有数据都会保存在这个文件中)。

具体步骤如下,确保全程在 Windows 的 PowerShell(管理员模式)中操作:

步骤 1:关闭当前 WSL 实例

先终止所有运行中的 WSL 进程,确保迁移时无文件占用:

powershell
wsl --shutdown

步骤 2:导出当前 WSL 实例到 E 盘

将现有 WSL 系统(假设分发版名称为Ubuntu)导出为一个压缩包(.tar文件),保存到 E 盘:

wsl --export <分发版名称> <导出路径>
wsl --export Ubuntu E:\WSL\ubuntu_full_backup.tar

这里将备份文件保存到E:\WSL\ubuntu_full_backup.tar,你可以根据需要修改路径。
等待导出完成(耗时取决于系统大小,可能需要几分钟)。

步骤 3:注销原 WSL 实例

删除原来的 WSL 实例(仅删除注册信息,不影响已导出的备份):

wsl --unregister Ubuntu

步骤 4:在 E 盘创建 WSL 新存储目录

在 E 盘创建一个文件夹,用于存放迁移后的 WSL 系统(虚拟磁盘文件会放在这里):

可以直接创建

mkdir E:\WSL\Ubuntu

步骤 5:将备份导入到 E 盘的新目录

将之前导出的备份文件导入到 E 盘的新目录,此时 WSL 的所有内容(系统文件、应用、数据等)都会存储在 E 盘:

wsl --import Ubuntu E:\WSL\Ubuntu E:\WSL\ubuntu_full_backup.tar --version 2

执行后,E 盘的E:\WSL\Ubuntu目录下会生成ext4.vhdx文件(WSL 的虚拟磁盘,包含所有系统数据)。

步骤 6:设置默认登录用户(避免默认 root 登录)

导入后默认可能以root用户登录,需要设置回原来的普通用户(例如hy):

wsl

在 WSL 终端中执行以下命令(替换hy为你的用户名):

echo -e "[user]\ndefault=hy" >> /etc/wsl.conf

退出 WSL 并重启使配置生效:

exit  # 退出WSL

在 PowerShell 中重启:

wsl --shutdown

wsl # 重新启动,此时会默认以hy用户登录

验证是否成功迁移
在 WSL 中查看系统文件路径,所有内容都会指向 E 盘的虚拟磁盘:

df -h  # 根目录`/`对应的设备会关联到E盘的ext4.vhdx

在 Windows 资源管理器中查看E:\WSL\Ubuntu,会看到ext4.vhdx文件(整个 WSL 的所有数据都在这里)。
效果说明
完成后,WSL 的所有操作(安装软件、创建文件、系统配置等)都会保存在 E 盘的虚拟磁盘中,包括:

系统目录(/usr、/etc、/var等)
所有用户的家目录(/home/hy等)
安装的应用程序(/usr/bin等)

相当于整个 WSL 系统 “搬” 到了 E 盘,彻底满足 “所有内容存储在 E 盘” 的需求。

posted @ 2025-08-22 17:20  拿受用  阅读(75)  评论(0)    收藏  举报