欢迎光临
我们一直在努力

Docker 太占C盘:docker自定义路径安装完整教程(含 WSL2)

文章目录

  • 前言
  • 一、安装前准备
  • 二、使用步骤
    • 1. 启用 WSL 组件并升级
    • 2. 准备安装目录
    • 3. 将 Ubuntu 安装到自定义文件夹下
    • 4. 下载 Docker Desktop 安装器
    • 5. 安装 Docker Desktop
    • 6. 验证安装结果
  • 三、常见问题
    • 1. 进入 WSL 出现 localhost 代理提示
    • 2. docker 命令找不到
    • 3. 数据仍写到 C 盘
  • 四、一键命令汇总
  • 总结

前言

本文记录一套在 Windows 11/10 下从零自定义路径安装 WSL2 和 Docker Desktop 的完整流程。 文中的路径配置可以根据自己电脑情况动态调整


一、安装前准备

先用管理员 PowerShell 检查虚拟化支持是否已开启。

代码如下:

systeminfo | findstr /i "Hyper-V Requirements"

HyperV安装状态

如果虚拟化相关项显示为 Yes,即可继续。

如果不是 Yes,请先在 BIOS 中开启 Intel VT-x 或 AMD-V。


二、使用步骤

1. 启用 WSL 组件并升级

管理员 PowerShell 执行:

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

执行后重启系统,然后继续:

wsl install no-distribution
wsl update
wsl set-defaultversion 2
wsl status

2. 准备安装目录

因为Docker的安装包直接安装不能够自定义安装信息,所以我们使用命令行安装。提前准备好对应的文件夹,可以根据自己电脑情况动态调整。

手懒的可以执行在power shell中执行这个,根据自己情况调整文件组织即可

New-Item ItemType Directory Force E:\\VMs\\WSL\\Ubuntu-24.04 | Out-Null
New-Item ItemType Directory Force E:\\Docker\\DockerDesktop | Out-Null
New-Item ItemType Directory Force E:\\Docker\\wsl | Out-Null
New-Item ItemType Directory Force E:\\Docker\\hyperv | Out-Null
New-Item ItemType Directory Force E:\\Docker\\windows-containers | Out-Null

3. 将 Ubuntu 安装到自定义文件夹下

去官方地址找自己想要的系统版本 官方下载地址

# wsl –import Ubuntu-24.04 想要安装的路径 系统安装包所在路径 –version 2
wsl import Ubuntu-24.04 E:\\VMs\\WSL\\Ubuntu-24.04 E:\\VMs\\WSL\\Ubuntu2404-240425.AppxBundle version 2

验证启动:

wsl d Ubuntu-24.04

然后在 Windows 侧执行:

wsl shutdown
wsl d Ubuntu-24.04

4. 下载 Docker Desktop 安装器

代码如下:

Invoke-WebRequest `
Uri "https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe" `
OutFile "E:\\Docker\\Docker Desktop Installer.exe"

5. 安装 Docker Desktop

代码如下:

Start-Process Wait FilePath "E:\\Installers\\Docker Desktop Installer.exe" ArgumentList @(
"install", # 执行安装命令
"–accept-license", # 自动接受许可协议(跳过确认步骤)
"–backend=wsl-2", # 指定使用 WSL 2 作为容器后端(而非 Hyper-V)
"–installation-dir=E:\\Apps\\DockerDesktop", # Docker Desktop 应用程序安装路径
"–wsl-default-data-root=E:\\Docker\\wsl", # WSL 2 后端数据存储路径(镜像、容器、卷等)
"–hyper-v-default-data-root=E:\\Docker\\hyperv", # Hyper-V 后端数据存储路径(备用)
"–windows-containers-default-data-root=E:\\Docker\\windows-containers" # Windows 容器数据存储路径
)

注意:安装向导中不勾选 Allow Windows Containers(只跑 Linux 容器时)

启动 Docker Desktop:

Start-Process "E:\\Apps\\DockerDesktop\\Docker Desktop.exe"

图形界面建议检查:

  • Settings -> General:勾选 Use the WSL 2 based engine
  • Settings -> Resources -> WSL Integration:开启 Ubuntu-24.04
  • 6. 验证安装结果

    代码如下:

    wsl l v
    docker version
    docker compose version
    docker info
    docker run rm hello-world

    如果能看到版本信息且 hello-world 正常运行,就表示安装成功。


    三、常见问题

    1. 进入 WSL 出现 localhost 代理提示

    提示示例:检测到 localhost 代理配置,但未镜像到 WSL。

    这是告警,不是报错。可以按需选择:

    • 忽略(多数开发场景可用)
    • 开启 mirrored 网络
    • 关闭 autoProxy 注入

    示例配置(C:\\Users\\你的用户名.wslconfig):

    [wsl2]
    networkingMode=mirrored
    dnsTunneling=true
    autoProxy=true

    修改后执行:

    wsl shutdown

    2. docker 命令找不到

    常见原因:Docker Desktop 尚未启动,或者当前 PowerShell 窗口环境未刷新。

    处理方式:先启动 Docker Desktop,再开一个新的 PowerShell 窗口重试。

    3. 数据仍写到 C 盘

    重点排查:

    • 安装命令是否包含 –wsl-default-data-root
    • Docker Desktop 设置中的磁盘路径是否已应用

    四、一键命令汇总

    下面给一份实操版汇总,建议分段执行:

    # 1) 启用 WSL 组件
    dism /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    dism /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

    # 2) 安装 WSL 基础能力
    wsl install no-distribution
    wsl update
    wsl set-defaultversion 2

    # 3) 准备目录
    New-Item ItemType Directory Force E:\\VMs\\WSL\\Ubuntu-24.04 | Out-Null
    New-Item ItemType Directory Force E:\\Docker\\DockerDesktop | Out-Null
    New-Item ItemType Directory Force E:\\Docker\\wsl | Out-Null
    New-Item ItemType Directory Force E:\\Docker\\hyperv | Out-Null
    New-Item ItemType Directory Force E:\\Docker\\windows-containers | Out-Null

    # 4) 导入 Ubuntu(rootfs 路径按实际文件调整)
    wsl import Ubuntu-24.04 E:\\VMs\\WSL\\Ubuntu-24.04 C:\\Temp\\ubuntu-24.04-rootfs.tar.gz version 2

    # 5) 下载并安装 Docker Desktop
    Invoke-WebRequest `
    Uri "https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe" `
    OutFile "E:\\Docker\\Docker Desktop Installer.exe"

    Start-Process Wait FilePath "E:\\Docker\\Docker Desktop Installer.exe" ArgumentList @(
    "install",
    "–accept-license",
    "–backend=wsl-2",
    "–installation-dir=E:\\Docker\\DockerDesktop",
    "–wsl-default-data-root=E:\\Docker\\wsl",
    "–hyper-v-default-data-root=E:\\Docker\\hyperv",
    "–windows-containers-default-data-root=E:\\Docker\\windows-containers"
    )


    总结

    以上就是 Windows 下安装 WSL2 + Docker Desktop,并将程序与数据迁移到 E 盘的完整流程。核心点是两条:

    • 安装 Docker Desktop 时带上路径参数
    • 首次启动后检查 WSL Integration 和磁盘设置

    按本文步骤执行后,基本可以避免 C 盘被 Docker 持续占用,后续直接进入项目执行 Docker Compose 即可。

    赞(0)
    未经允许不得转载:171主机测评 » Docker 太占C盘:docker自定义路径安装完整教程(含 WSL2)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址