在Windows中安装 Docker Desktop

🛠️ 前置准备:安装与配置 WSL 2

Docker Desktop 在 Windows 环境下默认依赖 WSL 2 作为底层容器引擎。为避免安装后报错,请先完成以下配置:

  1. 开启硬件虚拟化(重要)

    Docker 与 WSL 2 均依赖 CPU 虚拟化技术。请重启电脑进入 BIOS/UEFI 设置,确保已开启 Intel VT-xAMD-V(部分主板显示为 SVM ModeVirtualization Technology 等)。若未开启,后续所有步骤将无法正常运行。

  2. 一键安装 WSL 2 组件

    管理员身份打开 PowerShell,执行以下命令。该命令会自动启用所需 Windows 功能、下载最新 WSL 2 内核,并设置为默认版本:

    powershell 复制代码
    wsl --install

    💡 提示:此命令默认会附带安装 Ubuntu 发行版。执行完成后会提示重启,请务必立即重启电脑 。重启后若弹出 Linux 终端配置窗口,可按提示设置用户名密码,或直接关闭窗口(Docker 仅依赖 WSL 2 底层环境,会自行创建 docker-desktop 等专用发行版,不强制使用默认 Linux 系统)。

    若不想要那个多余的 Ubuntu 发行版,可以用下面这个命令代替,只启用 WSL2 核心功能:

    powershell 复制代码
    wsl --install --no-distribution

    💡若以上办法无法安装

    打开控制面板---->点击程序--->点击启用或关闭Windows功能

    勾选 适用于 Linux 的 Windows 子系统虚拟机平台

  3. 更新内核并验证状态

    重启完成后,再次以管理员身份打开 PowerShell,依次运行:

    powershell 复制代码
    # 将 WSL 2 内核更新至最新版本
    wsl --update
    # 确保默认使用 WSL 2 架构
    wsl --set-default-version 2
    # 查看状态,确认显示"默认版本: 2"且无报错
    wsl --status

    看到正常输出后,即可关闭 PowerShell,继续下一步安装 Docker Desktop。


⚙️ 第一步:自定义安装 Docker Desktop 至非系统盘

Docker Desktop 默认会安装到 C 盘,且图形安装界面不提供路径修改选项。我们需要通过命令行指定安装位置。

  1. 准备工作

    • 从 Docker 官网下载 Docker Desktop Installer.exe
    • 在你选定的程序安装盘 中新建一个专用文件夹,例如 X:\Programs\Docker(请将 X: 替换为你的实际盘符)。
    • 打开开始菜单,输入 PowerShell,右键选择"以管理员身份运行"。
  2. 执行静默安装命令

    在 PowerShell 中,使用 Start-Process 命令启动安装程序并传入路径参数。请将下方命令复制后,替换路径为你的实际位置再执行:

    powershell 复制代码
    # 请将 -FilePath 后的路径改为安装包的下载位置
    # 请将 --installation-dir 后的路径改为你自定义的程序安装目录
    Start-Process -FilePath "$HOME\Downloads\Docker Desktop Installer.exe" -ArgumentList 'install --installation-dir="X:\Programs\Docker"' -Wait -Verb RunAs
    • 提示:命令执行期间会弹出 UAC 提示,请点击"是"。安装过程可能持续几分钟,请耐心等待命令行窗口自动关闭。

🔑 第二步:关键操作------将 Docker 数据迁移至另一个非系统盘

这是最核心的一步。Docker 的镜像、容器和卷数据默认占用大量 C 盘空间,此步骤将所有运行时数据重定向到你选定的数据存储盘

  1. 启动并进入设置 :安装完成后,启动 Docker Desktop 并完成初始引导。待托盘区显示绿色图标(运行中)后,点击右上角的齿轮图标 (Settings)
  2. 定位磁盘设置 :在左侧菜单选择 Resources > 进入 Advanced 选项卡。
  3. 设定新路径 :找到 Disk image location 选项,点击 Browse ,浏览至你选定的数据存储盘 。建议新建专用文件夹,例如 Y:\DockerData(请将 Y: 替换为你的实际盘符)。
  4. 应用并确认迁移 :点击右下角的 Apply & Restart 。系统会弹出提示 "Move disk image?",点击 Yes, move it。Docker 将自动把数据迁移至新位置并重启服务,期间请勿关闭软件。

🚀 第三步:验证配置结果

重启完成后,建议快速核对确保路径生效:

  1. 打开 Docker Desktop,进入 Settings > Resources > Advanced ,确认 Disk image location 显示的路径已变更为你设置的 Y:\... 路径。

  2. 打开文件资源管理器,进入该目录,确认已生成 DockerDesktop.vhdx 等数据文件。

  3. 打开任意终端(CMD/PowerShell/Git Bash),运行:

    bash 复制代码
    docker run --rm hello-world

    看到终端输出 Hello from Docker! 且无报错,即代表环境与路径配置完全成功。


🔧 可选优化配置

为获得更稳定流畅的体验,可在 Settings 中按需调整:

  • 配置镜像加速 :若拉取官方镜像较慢,可在 Docker Engine 选项卡中,在 registry-mirrors 数组内添加国内加速地址(如阿里云、腾讯云、网易等提供的公开源)。
  • 调整资源配额 :在 Resources > Advanced 中,根据你的硬件配置合理分配 CPU 核心数、内存上限及交换空间,避免 Docker 过度占用系统资源。
  • 管理开机自启 :在 General 设置中,取消勾选 Start Docker Desktop when you log in,可减少日常待机时的内存占用。需要使用时再手动启动即可。

💎 总结

完成上述步骤后,你的 Docker 环境已完全实现程序与数据分离

  • 程序本体独立存放于非系统盘,不干扰系统更新与精简。
  • 所有镜像、容器、卷等运行时数据统一存放在另一个非系统盘,彻底释放 C 盘空间。

💡 日常维护建议

  • 使用一段时间后,可运行 docker system prune -a 安全清理无用镜像与缓存,释放存储空间。
  • 重要项目数据建议通过 Docker Volume 或本地目录映射(-v 参数)备份至其他位置,避免误删容器导致数据丢失。

🤔 常见问题排查

  • 现象 1 :Docker 启动后卡在 "Starting..." 或提示 WSL integration failed
    解决 :回到前置步骤,确保已执行 wsl --update。若仍报错,可在 Docker Settings > Troubleshoot 中点击 Restart WSLReset to factory defaults(⚠️ 重置会清除所有数据,需重新配置存储路径)。

  • 现象 2 :迁移数据后 Docker 无法启动,或提示找不到 vhdx 文件。
    解决 :通常是路径权限或磁盘格式问题。请确保目标盘为 NTFSexFAT 格式,且当前用户对该文件夹拥有"完全控制"权限。可在文件夹右键 > 属性 > 安全 中检查并添加当前用户权限。

  • 现象 3 :终端运行 docker 命令提示"未识别的命令"。
    解决 :安装完成后需重启终端或电脑以使环境变量生效。若仍无效,可手动将 X:\Programs\Docker\resources\bin 添加到系统 PATH 环境变量中。

相关推荐
lichenyang45321 小时前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang45321 小时前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang45321 小时前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang45321 小时前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
Patrick_Wilson5 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy6 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭6 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩7 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵8 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1118 天前
LM Studio Docker 部署——本地大模型一键启动
docker