Windows Docker Desktop 安装与配置

Windows Docker Desktop 安装与配置
abinng😶🌫️author: abinng date: 2026-01-31 23:44
createDate:2026-01-31 20:27
前言
WSL2 安装与配置中,我写到了配置Docker Desktop,但是鉴于Docker安装的篇幅可能不适合在一个标题下面写完,故又开了一篇,也好按照笔记名来查找。
当然本篇不是直接在WSL2上安装Docker Engine,而是Docker Desktop
所以,不用多说了吧,本篇主要是面向初学者的 Windows Docker Desktop 安装与配置
安装 Docker
下载安装包
去 Docker 官网 下载并安装 Docker Desktop for Windows。
该下载哪个(这里只管windows的)??
Win+R输入cmd,接着输入echo %PROCESSOR_ARCHITECTURE%,会出现AMD64或者ARM,接着下载对应架构的就好
自定义安装位置
找到安装包的位置,注意先别急着双击打开,在该文件夹以管理员身份打开CMD,注意不是PowerShell
我们用命令行安装,来指定安装位置,例如安装在
D:\Docker,你可以自行修改参数改变安装位置
1 | start /w "" "Docker Desktop Installer.exe" install --installation-dir="D:\Docker" |
安装时留意勾选 “Use WSL 2 instead of Hyper-V”(一般默认勾选)。
安装完成后,需要注销或重启电脑。
好,欢迎回来,我们继续
启动 Docker Desktop,接受协议 (Accept),接着我们登录一下,用Github授权就好。
成功进入主界面
修改镜像存储位置
Docker 默认会把所有拉取的镜像 (Images) 和容器 (Containers)
数据放在 %LOCALAPPDATA%/Docker/wsl 下,也就是你的 C
盘。如果不改,几个月后你的 C 盘就会莫名其妙少几十个 G。
先创建一个存放DockerData的文件夹,给一下权限,例如创建D:\WSL\DockerData
右键文件夹,点击属性,之后点击安全,接下来跟着图操作
接着设置界面,选择一下刚刚创建的DockerData,注意DockerDesktopWSL是他自动加上的
配置国内镜像源 / 代理
由于网络原因,直接 docker pull 拉取镜像经常会超时。我们有两种方案,推荐方案二。
方案一:配置国内镜像加速(目前不太稳定)
很多国内大厂的公开镜像源最近都不太稳定,但还是可以试一下。
- 进入 Settings -> Docker Engine。
- 在右侧的 JSON
编辑框中,添加
registry-mirrors字段。
1 | { |
(注:镜像源地址时效性很强,失效就得换,如果上面这些失效了,建议使用方案二)
方案二:配置 HTTP 代理(推荐,比较稳)
如果你在上一篇 WSL2 教程中已经配置好了科学上网环境,直接让 Docker 走代理是最稳的。
进入 Settings -> Resources -> Proxies,打开 Manual proxy configuration 开关。
在 Web Server (HTTP) 和 Secure Web Server (HTTPS) 中填入你的代理地址。
- 两个都是
http://127.0.0.1:7897,注意第二个别写https,虽然他说的是https - 注意端口号看你自己的代理软件设置,打开LAN连接。
Docker 试图与你的代理服务器建立一个 加密的 TLS 连接,但你的代理软件在这个端口上只接受 普通的 HTTP 连接,所以它直接挂断了(EOF)。
在 Docker Desktop 的设置里,即使是 HTTPS 代理(Secure Web Server),填写的地址协议头通常也应该是
http://,而不是https://。
还有第三个配置行(他的意思是 为这些主机和域名禁用代理设置)
为什么要忽略?
通常你的代理软件(比如 Clash、v2ray 等)是用来访问国外网站(如 Docker Hub 拉取镜像)的。但是,当你的容器需要访问:
- 你本机运行的服务(localhost)
- 你公司的内网服务器
- 你局域网里的其他电脑
这些流量如果也绕一圈代理服务器,不仅速度慢,而且很可能直接无法访问(因为代理服务器在公网,访问不到你的内网)。
如果你使用的镜像服务是国内的,那么提交、下载镜像的时候又不应该走代理,也需要在代理上额外配置一下。
如:使用阿里云镜像的代理配置
localhost,127.0.0.1,*.aliyuncs.com
怎么填呢??你可以直接将下面的字符串复制进去
1 | localhost,127.0.0.1,host.docker.internal,*.docker.internal,*.aliyuncs.com |
localhost和127.0.0.1- 作用: 本地回环地址。
- 如果不填: 容器访问本机的服务可能会失败,或者被代理软件拦截。
host.docker.internal- 作用: 这是 Docker Desktop 专门为 Windows/Mac 提供的特殊域名,允许容器内部直接访问宿主机(你的 Windows 电脑)。
- 如果不填: 你在容器里代码写连接
host.docker.internal:3306访问宿主机的 MySQL 时,请求会被发到代理服务器去,导致连接超时。
*.docker.internal- 作用: 涵盖所有 Docker 内部的 DNS 解析。
*.aliyuncs.com- 作用: 是阿里云的核心域名,主要用于存放和分发 Docker 镜像,如果你需要提交、下载上面的镜像,请加上去
最后点击 Apply & restart。
这样配置后,Docker 拉取镜像就会直接走你的代理通道,速度起飞。
开启 WSL2 互通
之后,点击右上角的齿轮图标(设置),进入 Resources -> WSL
integration。打开 “Enable integration with my default WSL
distro”,并且在下面的开关里,把 Ubuntu-22.04 的开关打开,点击右下角的 Apply
& restart。
验证一下:
回到你的 Ubuntu 终端,输入:
1 | docker --version |
如果看到Docker的版本号,那就说明Docker环境已经互通到WSL2了
接着
1 | docker run hello-world |
如果你看到下面这段话:
1 | Hello from Docker! |
成功
接下来,你可以愉快地开始部署你的服务了!
结语
还是说哈,这个不是纯在WSL2里面安装Docker Engine,是Docker Desktop,是比较适合新手的方案,如果你是极客,我推荐两篇文章,在WSL2里面安装Docker Engine。












