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(命令提示符):
- 按下
Win + S,搜索cmd。 - 右键点击
命令提示符,选择 “以管理员身份运行”。
- 按下
-
打开 PowerShell(某些命令可能需要 PowerShell):
- 按下
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.1API version: 1.47Go version: go1.22.11Git commit: 9f9e405Built: Wed Jan 22 13:41:44 2025OS/Arch: windows/amd64Context: desktop-linux...(以下省略哈)
若失败,则会打印:
C:\Windows\System32>docker version
Client:Version: 27.5.1API version: 1.47Go version: go1.22.11Git commit: 9f9e405Built: Wed Jan 22 13:41:44 2025OS/Arch: windows/amd64Context: 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:latestHello 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 一切正常 🎉!
相关文章:
Windows 11 下正确安装 Docker Desktop 到 D 盘的完整教程
文章目录 Windows 11 在 D 盘正确安装 Docker Desktop 的完整教程**前言****准备工作****1. 手动创建 Docker 相关目录**(⚠️ **这一步非常重要**,否则会报错)**2. 下载 Docker Desktop 安装程序****3. 使用管理员权限打开终端** **安装 Doc…...
IDEA - 查看类的继承结构(通过快捷键查看、通过生成类图查看)
一、通过快捷键查看 在项目中定位到目标类(例如,Executor.java) 按下快捷键 【Ctrl H】 此时会弹出 Type Hierarchy 窗口,展示所有相关的父类、子类、接口 二、通过生成类图查看 在项目中定位到目标类(例如&#x…...
Vue 3指令全解析:内置指令与自定义指令实战指南
Vue指令是模板语法的核心武器,它们以v-前缀的形式为HTML元素添加特殊功能。本文将深入探讨Vue 3中的指令系统,覆盖10个核心指令的妙用,并手把手教你打造专属自定义指令。 一、Vue指令基础认知 指令本质上是DOM操作的语法糖,它们&…...
Springboot 自动化装配的原理
Springboot 自动化装配的原理 SpringBoot 主要作用为:起步依赖、自动装配。而为了实现这种功能,SpringBoot 底层主要使用了 SpringBootApplication 注解。 首先,SpringBootApplication 是一个复合注解,它结合了 Configuration、…...
Linux——进程池
前言:大佬写博客给别人看,菜鸟写博客给自己看,我是菜鸟。 1.实现思路 思路:通过创建匿名管道,来实现父子进程之间的通信 注1:父写,子读 注2:匿名管道只能用来进行具有血管关系的进程…...
Qt基于等待条件QWaitCondition实现的任务队列模型示例
核心概念 Qt中的QWaitCondition是一个用于多线程同步的类,允许线程在某些条件满足时唤醒其他等待的线程。它通常与QMutex配合使用,协调线程之间的执行顺序,适用于生产者-消费者模型、任务队列调度等场景。 wait():使当前线程进…...
微服务即时通信系统---(六)语音识别子服务
目录 功能设计 模块划分 业务接口/功能示意图 服务实现流程思想 服务代码实现 编写proto文件 服务端创建子类(SpeechRecognitionServiceImpl)完成RPC服务调用函数重写 SpeechRecognize(语音识别) 服务端完成语音识别子服务类(SpeechRecognitionServer) 注意 …...
JavaWeb基础专项复习5——请求对象和响应对象request and response
系列文章目录 1、JavaWeb基础专项复习1——XML文件-CSDN博客 2、JavaWeb基础专项复习2——JSP文件-CSDN博客 3、JavaWeb基础专项复习2——Servlet相关知识-CSDN博客 4、JavaWeb基础专项复习4——会话对象Session and Cookie-CSDN博客 文章目录 系列文章目录文章目录1、Tom…...
mac下载MAMP6.8.1;解决mac使用小皮面板安装php7.4
因为mac的小皮面板没有php7.4了 链接:c9cc270e6961c17c.dmg官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘 鹅选一 附上大佬写的教程:MAMP PRO教程 - 牛奔 - 博客园 更新一下,2-27 昨天已经可以使用php7.4了,我就在想能…...
大模型WebUI:Gradio全解12——LangChain原理、架构和组件(3)
大模型WebUI:Gradio全解12——LangChain原理、架构和组件(3) 前言本篇摘要12. LangChain原理及agents构建Gradio UI12.3 LangChain架构12.3.1 LangChain12.3.2 Integration Packages1. 概念2. 示例12.3.3 LangGraph1. 概念2. 示例12.3.4 LangGraph Platform1. 概览2. 优势分…...
redis --- 相关基础知识整理
目录 一、基本1、数据结构2、有序集合的编码1. 压缩列表(Ziplist)2. 跳跃列表(SkipList)3. 动态转换机制 二、应用场景三、持久化1、 RDB 持久化2、 AOF 持久化3、 混合持久化(RDB AOF)4、 RDB和AOF的对比…...
如何用 Python 进行机器学习
文章目录 前言1. 环境准备Python安装选择Python开发环境安装必要库 2. 数据收集与加载3. 数据探索与可视化4. 数据预处理5. 模型选择与训练6. 模型评估7. 模型调优8. 模型部署 前言 使用 Python 进行机器学习一般可以按照以下步骤进行,下面将详细介绍每个步骤及对应…...
《Effective Objective-C》阅读笔记(下)
目录 内存管理 理解引用计数 引用计数工作原理 自动释放池 保留环 以ARC简化引用计数 使用ARC时必须遵循的方法命名规则 变量的内存管理语义 ARC如何清理实例变量 在dealloc方法中只释放引用并解除监听 编写“异常安全代码”时留意内存管理问题 以弱引用避免保留环 …...
解释Promise的工作原理及其状态
Promise的工作原理及其状态 1. 什么是Promise? Promise是JavaScript中的一种用于处理异步操作的对象。它代表一个可能在未来某个时间点完成的操作,并且可以有三种状态:待定(pending)、已解决(fulfilled&a…...
SHELL32!ILCombine函数分析之连接两个idl
SHELL32!ILCombine函数分析之连接两个idl 第一部分: STDAPI_(LPITEMIDLIST) ILCombine(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) { // Let me pass in NULL pointers if (!pidl1) { if (!pidl2) { return NULL; …...
es 生产集群的部署架构是什么?每个索引的数据量大概有多少?每个索引大概有多少个分片?
Elasticsearch 生产集群部署架构及面试解析 在后端面试中,Elasticsearch(ES)是一个经常被问到的技术点,尤其是涉及到 生产环境的部署架构。面试官往往希望通过这个问题来验证你是否有真正的生产经验,而不仅仅是玩过一…...
Qt跨线程信号槽调用:为什么信号不能像普通函数那样调用
1. 信号与槽机制的基本原理 在 Qt 中,信号与槽机制是一种事件驱动的通信方式,用于对象之间的解耦交互。其关键特点如下: 信号不能直接调用 信号只是一个声明,并没有实际的函数实现。它们通过 emit 关键字在对象内部被触发&…...
ollama和open-webui部署ds
博客地址: ollama和open-webui部署ds 引言 最近,deepseek是越来越火,我也趁着这个机会做了下私有化部署,我这边使用的ollama和 open-webui实现的web版本 ollama 简介 Ollama 是一个开源的工具,专门用于简化机器学…...
泛微Ecode新增Button调用服务器中的JSP页面里的方法
前言 前端Ecode调用 后端接口编写 JSP文件方法 总结 前言 因为我们是从之前E8版本升级到E9的,所以会有一些接口是通过jsp文件来实现前后端调用的,这里介绍的就是如果你有接口是写在jsp文件里面调用的,但是你又想在Ecode中调用的对应的接…...
LVS+Keepalived高可用群集配置案例
以下是一个 LVSKeepalived 高可用群集配置案例: 1、环境准备 LVS 主调度器(lvs1):IP 地址为 192.168.8.101,心跳 IP 为 192.168.4.101LVS 备调度器(lvs2):IP 地址为 192.168.8.102…...
目标金额是否能被给定硬币组成或者最少硬币数量
在编程中,判断一个目标金额能否由一组给定的硬币组成,这是一个经典的“硬币找零”或“完全背包”问题。 最常用且高效的解决方法是使用动态规划 核心思路 将这个问题分解成更小的子问题。 是不是在想当前金额,怎么知道能够由哪些已知硬币凑成…...
如何构建高效可扩展的实时数据处理系统:抖音直播弹幕采集架构深度解析
如何构建高效可扩展的实时数据处理系统:抖音直播弹幕采集架构深度解析 【免费下载链接】DouyinLiveWebFetcher 抖音直播间网页版的弹幕数据抓取(2025最新版本) 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveWebFetcher 抖音…...
CC324条提示词意外泄露——第31条让我出了一身冷汗
324条提示词意外泄露——第31条让我出了一身冷汗 原创 硅谷Alan Walker 硅谷Alan Walker 嘉妍Kea 2026年4月2日 02:47 美国 22人 在小说阅读器中沉浸阅读 当 AI 可以代替你发 Slack、fork 自己,人与 AI 的边界在哪里? src/constants/prompts.ts 57…...
如何用MVP.css快速创建响应式网站:终极完整指南
如何用MVP.css快速创建响应式网站:终极完整指南 【免费下载链接】mvp MVP.css — Minimalist classless CSS stylesheet for HTML elements 项目地址: https://gitcode.com/gh_mirrors/mv/mvp MVP.css是一个极简主义的无类CSS样式表,专为快速创建…...
YOLOv9官方镜像实战入门:小白也能快速上手的目标检测教程
YOLOv9官方镜像实战入门:小白也能快速上手的目标检测教程 1. 为什么选择YOLOv9官方镜像? 目标检测是计算机视觉中最实用的技术之一,但环境配置往往让初学者望而却步。YOLOv9官方镜像解决了这个痛点,它预装了所有必要的依赖项&am…...
手把手教你用ESP32-S3+Ollama打造本地AI语音助手:从Django服务到硬件播放
从零构建基于ESP32-S3的本地AI语音助手:OllamaDjango全链路实战 在智能硬件开发领域,语音交互系统正经历着从云端依赖到本地化部署的范式转移。本文将完整呈现如何利用ESP32-S3微控制器与Ollama大语言模型,构建一个完全运行在内网环境的AI语音…...
从零到一:Python环境搭建与依赖管理的完整实践指南
1. Python环境搭建:从下载到验证 刚接触Python开发时,环境搭建就像学做菜前要先准备厨具。我见过不少新手在这个阶段卡壳,要么版本装错,要么环境变量没配好。下面我会用最直白的方式,带你走通Windows和Linux两条路线。…...
实战应用:基于快马平台将openclaw部署到工业零件分拣场景
在工业自动化领域,零件分拣一直是个既基础又关键的环节。最近我在一个项目中尝试用openclaw算法来解决传送带上混合零件中特定型号螺丝的识别与抓取问题,整个过程既有挑战也有不少收获,今天就来分享一下实战经验。 场景需求分析 传送带上的螺…...
HG-ha/MTools性能调优:Windows DirectML最佳实践
HG-ha/MTools性能调优:Windows DirectML最佳实践 本文介绍如何通过DirectML加速技术,让HG-ha/MTools在Windows平台上获得最佳性能表现 1. 认识HG-ha/MTools的强大功能 HG-ha/MTools是一款功能全面的现代化桌面工具集,它集成了图片处理、音视…...
Kandinsky-5.0-I2V-Lite-5s惊艳案例分享:宠物/人像/产品图5秒动态化成果集
Kandinsky-5.0-I2V-Lite-5s惊艳案例分享:宠物/人像/产品图5秒动态化成果集 1. 开篇:让静态图片动起来的魔法 你有没有想过,随手拍的照片能自己动起来?Kandinsky-5.0-I2V-Lite-5s就是这样一个神奇的AI工具。它能把你的宠物照片、…...
