在 Windows Server 2022 上搭建 Docker 环境,目前官方推荐使用 Docker Desktop for Windows(适用于专业版/企业版)或 Docker Engine(适用于服务器版)。
由于 Windows Server 通常作为生产环境使用,且可能没有图形界面(Server Core),我将分两种主流场景为你介绍。请根据你的具体需求选择:
⚠️ 前置条件检查
无论哪种方式,Windows Server 2022 必须满足以下条件:
- 操作系统版本:必须是 Windows Server 2022 Datacenter 或 Standard 版(支持容器功能)。
- 虚拟化开启:BIOS/UEFI 中必须开启 VT-x/AMD-V 虚拟化技术。
- Hyper-V 角色:需要安装并启用 Hyper-V 功能。
- 网络配置:确保网络适配器正常,建议配置静态 IP。
方法一:使用 Docker Desktop(推荐用于带 GUI 的管理员桌面)
如果你是在带有图形界面的服务器上操作,或者通过远程桌面连接,这是最简单的方法。它会自动处理 WSL2 后端和容器引擎。
1. 启用必要功能
打开 PowerShell (管理员),运行以下命令启用容器所需的组件:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName Containers-Disposable-Client
Restart-Computer
重启后继续下一步。
2. 下载并安装 Docker Desktop
- 访问 Docker Hub 下载
Docker Desktop.exe。 - 运行安装程序,按照向导操作。
- 注意:在安装过程中,确保勾选 "Use WSL 2 instead of Hyper-V"(如果系统已安装 WSL2),这通常性能更好。
- 安装完成后启动 Docker Desktop。
- 等待右下角托盘图标变为绿色鲸鱼,表示服务已就绪。
3. 验证安装
打开 PowerShell,输入:
docker --version
docker run hello-world
如果看到 "Hello from Docker!" 输出,说明安装成功。
方法二:使用 Docker Engine(推荐用于无头模式/Server Core/纯生产环境)
如果你使用的是 Windows Server Core 版本,或者希望更轻量、不依赖 Docker Desktop 的图形化组件,可以直接安装 Docker Engine。
1. 安装 Docker Engine MSI
由于 Server 2022 默认不包含 Docker,你需要从微软官方仓库获取安装包。
-
下载脚本:
在 PowerShell (管理员) 中运行以下命令来下载并执行安装脚本(微软官方维护的自动化脚本):Invoke-WebRequest -Uri https://raw.githubusercontent.com/microsoft/Docker-CE-for-Windows/main/scripts/install.ps1 -OutFile install.ps1 .install.ps1注:如果上述链接失效,请手动访问 GitHub 仓库
microsoft/Docker-CE-for-Windows下载最新的.msi安装包。 -
手动安装 MSI(备选方案):
如果脚本无法运行,请手动下载Docker-CE-for-Windows.msi,双击运行并按照提示安装。安装时选择 "Install as a service"。
2. 配置镜像提速器(关键步骤)
在中国大陆地区,直接拉取 Docker Hub 镜像非常慢甚至失败。建议配置国内镜像提速器。
- 停止 Docker 服务:
Stop-Service docker - 编辑配置文件
C:ProgramDatadockerconfigdaemon.json。- 如果文件不存在,请新建该文件。
- 添加以下内容(以阿里云为例,其他如腾讯云、网易云类似):
{ "registry-mirrors": [ "https://docker.m.daocloud.io", "https://huecker.io" ] }(注意:JSON 格式要求严格,逗号不能遗漏)
- 重启 Docker 服务:
Start-Service docker
3. 验证安装
docker --version
docker pull nginx
docker run -d -p 80:80 --name web-server nginx
如果容器能成功运行并听到日志输出,则配置完成。
常见问题与注意事项
-
WSL2 vs Hyper-V:
- Docker Desktop 默认使用 WSL2 后端,性能极佳,但需要安装 WSL2 内核更新。
- Docker Engine 传统上使用 Hyper-V 隔离,但在 Server 2022 上也可以配置为使用 WSL2 后端(需额外配置),不过对于纯服务器场景,原生 Hyper-V 模式兼容性最好。
-
权限问题:
- 在命令行操作时,务必使用 PowerShell (Run as Administrator)。
- 如果部署应用遇到权限拒绝,请检查
C:ProgramDataDocker目录的 ACL 权限。
-
防火墙:
- 如果是生产环境,记得在 Windows 防火墙中放行容器的端口映射(例如
-p 80:80需要在宿主机开放 80 端口)。
- 如果是生产环境,记得在 Windows 防火墙中放行容器的端口映射(例如
-
资源限制:
- 在 Docker Desktop 中,可以通过设置调整分配给虚拟机的 CPU 和内存,避免占用过多服务器资源影响其他业务。
总结
- 如果是开发测试或有图形界面的环境:直接使用 Docker Desktop。
- 如果是纯生产环境、Server Core 或追求极致轻量:使用 Docker Engine 配合镜像提速器。
安装完成后,你即可像操作 Linux 一样使用 docker build, docker compose, docker stack deploy 等命令管理容器了。
云知道CLOUD