当前位置: 首页 > news >正文

Windows 11 下正确安装 Docker Desktop 到 D 盘的完整教程

文章目录

  • Windows 11 在 D 盘正确安装 Docker Desktop 的完整教程
    • **前言**
    • **准备工作**
      • **1. 手动创建 Docker 相关目录**(⚠️ **这一步非常重要**,否则会报错)
      • **2. 下载 Docker Desktop 安装程序**
      • **3. 使用管理员权限打开终端**
    • **安装 Docker Desktop 到 D 盘**
      • **使用 PowerShell 安全更新 PATH 变量**
    • **最终测试:Docker 是否正常运行**

Windows 11 在 D 盘正确安装 Docker Desktop 的完整教程

如果已经安装Docker Desktop,请使用windows系统设置中的<卸载>功能卸载掉。

前言

在 Windows 11 上安装 Docker Desktop 时,我们通常希望将其安装到 D 盘 而不是默认的 C 盘,以节省系统盘空间。然而,Docker Desktop 安装时会默认写入 C 盘,而手动修改安装路径后,可能会遇到 环境变量丢失命令无法识别等问题。

本教程将详细介绍如何在 Windows 11 中 正确安装 Docker Desktop 到 D 盘,并确保 VS Code 和 CLI 端都能正确识别 docker 命令。

准备工作

1. 手动创建 Docker 相关目录(⚠️ 这一步非常重要,否则会报错)

在运行安装命令前,手动打开 D 盘,在 Program Files 文件夹内新建一个 Docker 文件夹,并在 Docker 文件夹内再新建一个 data 文件夹。

  • D:\Program Files\Docker:Docker Desktop 的安装目录。
  • D:\Program Files\Docker\data:Docker 用于存储镜像、容器、卷等数据的目录。

注意,一定要严格按照这里的名称建立文件夹!

2. 下载 Docker Desktop 安装程序

从官方链接下载 Docker Desktop 安装程序:点击下载

3. 使用管理员权限打开终端

接下来的所有步骤都需要管理员权限,否则可能会遇到安装失败、权限不足等问题。

  • 打开 CMD(命令提示符)

    1. 按下 Win + S,搜索 cmd
    2. 右键点击 命令提示符,选择 “以管理员身份运行”
  • 打开 PowerShell(某些命令可能需要 PowerShell):

    1. 按下 Win + X,选择 Windows 终端(管理员)Windows PowerShell(管理员)

安装 Docker Desktop 到 D 盘

在管理员 CMD 中,先进入 Docker Desktop Installer.exe 所在的目录

不同浏览器的默认下载目录可能不同,请根据你的情况进入正确的路径:

  • 比如我是:Google Chrome 下载路径
    cd D:\Chrome Download
    

然后执行以下安装命令(确保在 CMD 中运行):

start /w "" "Docker Desktop Installer.exe" install -accept-license --installation-dir="D:\Program Files\Docker" --wsl-default-data-root="D:\Program Files\Docker\data" --windows-containers-default-data-root="D:\\Program Files\\Docker"

命令参数解释

  • --installation-dir="D:\Program Files\Docker":指定 Docker Desktop 的安装目录。
  • --wsl-default-data-root="D:\Program Files\Docker\data":指定 WSL 存储 Docker 数据的目录。
  • --windows-containers-default-data-root="D:\\Program Files\\Docker":双斜杠用于 Windows 容器存储路径。

安装完成后,在 管理员 CMD 中执行以下命令检查 Docker 是否安装成功:

docker version

如果报错:

'docker' 不是内部或外部命令,也不是可运行的程序或批处理文件。

说明环境变量没设置好:

原因:Docker 安装后,PATH 变量未正确更新,或者被 setx 截断(Windows 限制 setx 设置的环境变量最大长度为 1024 字符)。

解决方法

使用 PowerShell 安全更新 PATH 变量

Windows setx 命令有 1024 字符限制,我们可以改用 PowerShell 安全更新 PATH

$oldPath = [System.Environment]::GetEnvironmentVariable("Path", [System.EnvironmentVariableTarget]::Machine)
$newPath = $oldPath + ";D:\Program Files\Docker\resources\bin"
[System.Environment]::SetEnvironmentVariable("Path", $newPath, [System.EnvironmentVariableTarget]::Machine)

然后 重启电脑,再测试:

docker version

若成功,则会打印:

C:\Windows\System32>docker version
Client:
 Version:           27.5.1
 API version:       1.47
 Go version:        go1.22.11
 Git commit:        9f9e405
 Built:             Wed Jan 22 13:41:44 2025
 OS/Arch:           windows/amd64
 Context:           desktop-linux
 ...(以下省略哈)

若失败,则会打印:

C:\Windows\System32>docker version
Client:
 Version:           27.5.1
 API version:       1.47
 Go version:        go1.22.11
 Git commit:        9f9e405
 Built:             Wed Jan 22 13:41:44 2025
 OS/Arch:           windows/amd64
 Context:           desktop-linux
error during connect: Get "http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/v1.47/version": open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified.

失败的原因在于:Docker没有运行

解决方案: 确保 Docker 运行

右键管理员运行Docker Desktop(也就是你桌面的Docker快捷方式)

然后 等待 1~2 分钟,再运行:

docker version

最终测试:Docker 是否正常运行

管理员 CMD 运行一个测试容器,确保 Docker 能正常拉取和运行容器:

docker run hello-world

由于网络原因,一般要多试几次,三四次吧,看我这里前两次的输出,第一次是网络问题没打印成功:

C:\Windows\System32>docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: failed to resolve reference "docker.io/library/hello-world:latest": failed to authorize: failed to fetch oauth token: Post "https://auth.docker.io/token": net/http: TLS handshake timeout.
See 'docker run --help'.

C:\Windows\System32>docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
e6590344b1a5: Download complete
Digest: sha256:bfbb0cc14f13f9ed1ae86abc2b9f11181dc50d779807ed3a3c5e55a6936dbdd5
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

所以,最后如果输出:

Hello from Docker!
This message shows that your installation appears to be working correctly.
...(以下这里我省略哈)

说明 Docker 一切正常 🎉!

相关文章:

  • anythingLLM和deepseek4j和milvus组合建立RAG知识库
  • 本地大模型编程实战(26)用langgraph实现基于SQL数据构建的问答系统(5)
  • 【CPP面经】CPP后台开发面试经历
  • mac Homebrew安装、更新失败
  • C语言整体梳理-基础篇-结构体
  • 实战-使用 Playbook 批量部署多台 LAMP 环境
  • Android实现漂亮的波纹动画
  • 【线性代数的理解】 为什么说线性代数研究的是空间变换?旋转矩阵坐标转换矩阵
  • 社交APP如何打造高粘性兴趣社群
  • 泰勒公式详解与应用
  • 学生管理前端
  • element-ui infiniteScroll 组件源码分享
  • C# 基于.NET Framework框架WPF应用程序-MQTTNet库实现MQTT消息订阅发布
  • 基于vue框架的游戏博客网站设计iw282(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • SQL命令详解之增删改数据
  • Godot4.3 显示像素风格图片模糊如何设置?
  • 【C++】Points
  • GenBI 可视化选谁:Python Matplotlib?HTML ?Tableau?
  • Day31 第八章 贪心算法 part04
  • 进程间通信 —— 共享内存
  • 一个网站怎么做软件好用/上海搜索seo
  • 你下水好多下水道bd/seo岗位工作内容
  • 硬件开发学什么专业/站长之家seo综合
  • 政府扶持办厂项目/网站排名优化外包公司
  • 深圳疫情现在好像越来越严重/google搜索优化方法
  • wordpress模板排行榜/性能优化工具