尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Windows 安装配置 Docker Desktop 完整踩坑实录

Windows 安装配置 Docker Desktop 完整踩坑实录 Windows 安装配置 Docker Desktop 完整踩坑实录环境WindowsWSL2 后端Docker Desktop目标程序本体 镜像数据全部迁移至 D 盘释放 C 盘空间。一、环境准备1. 开启 WSL2部署Docker DesktopWSL2模式前必须优先核查电脑WSL版本、确认WSL组件是否安装。Docker 仅支持 WSL2不兼容 WSL1绝大多数环境报错、启动失败都是因为未安装WSL、WSL版本过低导致。下面提供【核查版本 → 未装则安装 → 强制切换WSL2】全套标准流程全程使用管理员 CMD/PowerShell 执行。1.1 第一步核查电脑WSL安装状态与版本必执行先确认电脑是否安装WSL、当前默认版本、已安装分发系统判断后续需要执行安装还是版本切换# 查看已安装WSL版本 wsl --version结果判断提示「WSL 未安装」「找不到 WSL 功能」说明电脑从未安装WSL直接执行下方一键安装流程。显示默认版本为 1版本不兼容Docker需要强制升级为WSL2。显示默认版本为 2环境基础合格可直接跳过安装步骤继续后续配置。# 查看系统WSL整体信息、默认版本、已安装分发 wsl --status # 查看已安装WSL分发及对应版本核心校验命令 wsl -l -v1.2 第二步无WSL环境一键完整安装WSL若上一步核查确认电脑未安装WSL无需手动开启Windows功能执行系统一键安装命令自动启用「适用于Linux的Windows子系统」「虚拟机平台」两大核心功能自动下载安装WSL组件# 一键安装WSL全套核心组件 wsl --install重要强制操作安装完成后必须重启电脑否则WSL功能无法生效后续Docker全部报错。全新Windows系统未开启WSL时无需手动开启功能直接执行一键安装命令自动启用WSL、虚拟机平台功能# 一键安装WSL核心组件自动下载安装 wsl --install安装完成后必须重启电脑否则WSL功能不生效。1.3 第三步统一强制设置默认版本为WSL2关键必做无论电脑是新装WSL、还是原有WSL1环境必须执行此命令强制将系统默认WSL版本锁定为2适配Docker运行要求# 全局设置系统默认WSL版本为2Docker硬性要求 wsl --set-default-version 2若电脑已有Ubuntu等WSL分发可单独将已有分发升级为WSL2替换对应分发名称即可# 示例将Ubuntu分发升级为WSL2 wsl --set-version Ubuntu 2执行完毕后再次用wsl --status核查确认默认版本为 WSL2 即可。# 设置系统默认WSL版本为2Docker必须依赖WSL2不支持WSL1 wsl --set-default-version 21.4 补充Ubuntu子系统安装说明新手高频误区执行wsl --install默认会自动安装Ubuntu子系统但Docker Desktop运行不依赖UbuntuDocker会自行创建两个专属隐藏WSL分发docker-desktop运行引擎、docker-desktop-data存储镜像数据无需Ubuntu即可正常使用Docker。若不需要Ubuntu可卸载系统默认安装的Ubuntu不影响Docker运行# 卸载Ubuntu子系统 wsl --unregister Ubuntu若后续需要Linux终端开发可单独按需安装Ubuntuwsl --install -d Ubuntu二、Docker Desktop 安装2.1 安装程序本体到 D 盘Docker Desktop下载地址: https://www.docker.com/products/docker-desktop/直接双击 exe 安装只能安装到 C 盘。想要修改程序本体安装目录必须使用命令行安装不能双击 exe。将Docker Desktop Installer.exe放到下载目录D:\Downloads\管理员身份打开 CMD执行命令start /w D:\Downloads\Docker Desktop Installer.exe install --installation-dirD:\software\DockerDesktop--installation-dir仅控制 Docker Desktop 程序本体几百 MB不控制镜像容器数据。踩坑 1访问被拒绝报错对路径xxx的访问被拒绝。File: xxx.staging原因权限不足源 exe 与目标安装目录放在同一个文件夹产生 staging 临时目录冲突。解决方案exe 源文件和安装输出目录不要放在同一个文件夹使用真正管理员权限 CMD目录路径避免中文、特殊字符。2.2 安装界面配置✅Per‑user installation (Recommended)☐Allow Windows Containers不要勾选✅Add shortcut to desktop点击 OK 完成安装安装完成后注销 Windows 重新登录使 docker‑users 用户组生效。三、验证 Docker 基础环境3.1 基础命令校验# 查看wsl实例wsl-l-v# 查看docker版本docker--version# 查看docker引擎信息docker info安装成功后 wsl 列表会出现docker‑desktop Running 2。3.2 测试拉取 hello‑world 镜像docker run--rmhello-world提示Unable to find image hello-world:latest locally不是报错代表本地无镜像会从网络拉取。输出Hello from Docker!代表整套 Docker WSL2 环境运行完全正常。踩坑 2镜像加速器失效中科大镜像https://docker.mirrors.ustc.edu.cn已经停止服务浏览器无法访问Docker 也不能使用。注意registry‑mirrors 镜像源是 API 接口正常情况下也不能直接浏览器打开访问。可用公开镜像源配置Docker Desktop - Settings - Docker Engine{registry-mirrors:[https://docker.m.daocloud.io],builder:{gc:{defaultKeepStorage:20GB,enabled:true}},experimental:false}修改后点击Apply restart重启 Docker。企业内网环境如果配置镜像源依旧拉取超时代表防火墙拦截 Docker Hub切换手机热点测试长期内网使用需要运维搭建内部私有镜像仓库。四、迁移 WSL2 磁盘镜像数据到 D 盘释放 C 盘⚠️重要区分两个目录Docker 程序本体D:\software\DockerDesktop--installation-dir参数控制仅程序文件。WSL 镜像 / 容器 / 卷存储docker‑desktop‑data存放镜像、容器是占用 C 盘的大头。新版 Docker Desktop 图形界面迁移推荐替代复杂 PowerShell 脚本Docker Desktop 新版本提供图形化迁移自动完成导出、注销、导入规避脚本踩坑。打开设置Settings→Resources→Advanced找到Disk image location当前默认路径C:\Users\Administrator\AppData\Local\Docker\wsl点击Browse选择目标目录D:\software\DockerDesktopData点击Apply restartDocker 自动迁移虚拟磁盘文件ext4.vhdx。注意Browse 按钮灰色不可点击时需要先停止所有正在运行的容器。迁移完成校验# 查看本地镜像hello‑world镜像应当存在无需重新下载docker images# 测试运行docker run--rmhello-world迁移成功后 C 盘旧目录文件会自动清理释放 C 盘空间。五、最终部署目录汇总项目路径说明Docker Desktop 程序本体D:\software\DockerDesktop安装命令指定几百 MB镜像 / 容器 / Volume 数据D:\software\DockerDesktopDataWSL 虚拟磁盘 ext4.vhdx占用磁盘主要空间全部数据存放 D 盘C 盘不再占用 Docker 相关存储。六、补充小知识点WSL2 资源内存 CPU 限制不由 Docker 控制由 Windows.wslconfig文件管理可手动配置限制资源占用。Resource SaverDocker空闲时自动降低 CPU、内存占用默认开启有效降低后台功耗。Ubuntu与Docker关系总结Docker独立运行不依赖Ubuntu系统自带Ubuntu可卸载不影响Docker所有功能仅需Linux终端时再手动安装即可。迁移报错文件被占用Docker 没有完全退出任务管理器杀掉全部 Docker 进程执行wsl --shutdown重试。wsl--install-d Ubuntu迁移报错文件被占用Docker 没有完全退出任务管理器杀掉全部 Docker 进程执行wsl --shutdown重试。七、常见问题 FAQQ1wsl -l -v 看不到 docker‑desktop‑dataAdocker‑desktop‑data属于 Docker 内部隐藏分发列表不会展示但是wsl --export / unregister命令可以正常操作。Q2浏览器打不开镜像加速器地址代表镜像源失效A镜像加速地址是后台API接口本身不支持浏览器直接访问打开中科大、DaoCloud等主流镜像站网页均解析失败属于正常现象。镜像源是否生效不看浏览器能否打开只需要通过docker info查看输出中的Registry Mirrors配置项即可。A镜像加速地址是 API 接口正常情况下浏览器不能访问是否生效看docker info输出中的Registry Mirrors。Q3已经把 Docker 程序装 D 盘为什么 C 盘还在涨A程序本体和 WSL 镜像存储是两套独立目录程序装 D 盘镜像数据默认依旧在 C 盘必须迁移 Disk image location。Q4企业内网拉镜像超时怎么办A手机热点测试热点能拉取说明 Docker 环境没问题只是网络策略拦截内网环境建议搭建内部镜像代理。我可以帮你再精简一版适合 CSDN 发布的标题、摘要、标签直接复制粘贴发布需要吗。注部分内容可能由 AI 生成
返回列表