1. Docker到底是什么:用一次交付把"环境不一致"这件事讲清楚
先从一个每天都有人问的场景说起。你写了一个Python项目,本地跑得好好的,一发给同事,对方那边缺了几个依赖包,报错。你装好依赖,他又报版本冲突。你锁定了requirements.txt,他那边系统库版本又不对。最后你火了,直接把整个环境打包成虚拟机镜像发过去,四五GB的东西,对方解压完还要改IP、改配置,折腾一上午。
Docker的出现,本质上就是来解决这个"在我电脑上是好的"的世纪难题。它把应用和它运行所需要的依赖环境一起打包成一个标准单元,这个单元叫镜像。镜像运行起来,就是一个容器。你在本地开发、在测试环境跑、在服务器上部署,用的都是同一个镜像,那环境几乎就是完全一致的——这一点是虚拟机做不到的,因为虚拟机打包的是整台机器,而Docker打包的是"应用+它需要的运行环境"。
那Docker和虚拟机到底有什么区别?一句话说清:虚拟机虚拟的是硬件层,相当于在家里复制了一整台电脑,所以它重、启动慢、占资源;Docker虚拟的是操作系统内核之上的运行空间,相当于给每个程序安排了一个独立的"房间",但共用同一套"水电系统",所以它轻、启动秒开、资源占用低。同一个物理机上,虚拟机可能只能跑十个,Docker可以跑上百个。
前几年常听到的"一次构建,到处运行",说的大致就是这个逻辑。你构建好镜像之后,不管是Windows、Linux还是macOS,只要有Docker环境,就能把容器跑起来。这个优势在你做自动化部署、微服务拆分、CI/CD流水线的时候会体现得尤其明显——每台机器上不用再手动装一遍依赖,直接pull镜像、run容器,完事。
所以,Docker不只是一个"装软件的软件",它实际上是现代开发和运维之间的一层通用语言。搞懂它,对你后面学容器编排(比如Docker Compose、Kubernetes)、做持续集成、甚至本地搭建开发环境都有帮助。你甚至可以用Docker在本地一键拉起一套MySQL、Redis、Nginx测试环境,比在电脑上手动安装干净十倍。这也是为什么那么多人刚开始学Docker,第一个实践就是用Docker装MySQL。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 安装前先检查这三项,别等启动失败才回头
Docker本身安装并不难,无论是Windows还是Linux,都有对应的安装方式。但我见过太多人在安装完Docker Desktop之后卡在启动阶段,弹出一个红色报错:virtualization support not detected(未检测到虚拟化支持)。然后就开始到处搜解决方法,其实这个问题的根源,绝大多数情况下是安装之前的准备工作没做足。
这里我把安装Windows版Docker之前必查的三项列出来,每一项都值得你花两分钟确认。
2.1 检查CPU虚拟化是否已经开启
Docker Desktop在Windows上默认依赖虚拟化技术来运行Linux容器,所以CPU的虚拟化功能必须在BIOS里开启。检查方法很简单:打开"任务管理器",切到"性能"标签,点击"CPU",看右下角的"虚拟化"一栏。
如果你看到"已启用",那就没问题。如果看到"已禁用",那就需要重启电脑,进入BIOS设置(各品牌主板快捷键不同,常见的是F2、F10、Del键),找到Intel Virtualization Technology(Intel平台)或者SVM Mode(AMD平台),设为Enabled,保存退出重启。
注意,这个检查非常关键。很多人以为Docker Desktop装完双击就能用,结果卡在这第一步。理论上Windows 11强制要求支持虚拟化的CPU,但在Windows 10上很容易遇到没开启的情况,尤其是办公电脑和老笔记本。
2.2 确认Windows系统版本和WSL2状态
Docker Desktop在Windows上有两种运行后端:一种是基于Hyper-V(Windows专业版和企业版内置的虚拟机平台),另一种是基于WSL2(Windows Subsystem for Linux 2,适用于Linux的Windows子系统第二版)。
现在官方默认推荐并且未来趋势是走WSL2路线,因为它启动快、内存占用小、和Docker引擎的集成度更高。但WSL2有一个硬性要求:你的Windows 10必须是2004及以上版本(build 19041及以上),或者Windows 11。如果你的系统版本太旧,最常见的报错就是:We've detected that you have an incompatible version of Windows. Docker Desktop requires Windows 10 version 2004 or later。
检查方式是Win+R输入winver,弹出来的窗口里看你系统的版本号和内部版本号。如果版本低于2004,建议先更新Windows系统,不要想着绕过去,因为WSL2本身也需要新版本内核的支持。当然,如果你用的是Windows 10 1903/1909这种老版本,也可以选择通过启用Hyper-V的方式来跑Docker Desktop,但配置起来更绕,我不太推荐,能用WSL2就用WSL2。
2.3 内存和磁盘余量
Docker Desktop运行起来之后,至少需要4GB以上的可用内存,如果内存只有4GB,建议再加一条,否则Docker容器一多会非常卡。磁盘方面,Docker默认会把镜像存在系统盘(C盘),一个镜像动辄几百MB,MySQL、Redis这类基础镜像加起来随便几个GB就没了。所以如果你C盘空间紧张,强烈建议在安装完成之后把Docker的数据目录迁移到其他盘,这个我在下一节会讲具体操作。
这三项检查大概只需要三分钟,但能帮你省掉后面一个小时甚至半天的排查时间。安装Docker这事的经验就是:前置检查永远是性价比最高的事。
3. Windows安装全程:从WSL2到Docker Desktop,以及D盘安装
现在正式进入安装环节。Windows上安装Docker Desktop,我习惯的顺序是先装好W
