在 Windows Server 2022 上安装 Docker 和 Docker Compose,最推荐的方式是使用 Docker Desktop for Windows(包含 Compose)。虽然 Docker Engine 也可以单独安装,但 Docker Desktop 提供了更完整的图形化管理界面、更好的网络配置以及自动集成的 Compose 功能,非常适合服务器环境。
以下是详细的操作步骤:
前置条件检查
在开始之前,请确保你的服务器满足以下要求:
- 操作系统:Windows Server 2022 (LTSC 版本)。
- 虚拟化支持:BIOS/UEFI 中必须开启 Intel VT-x 或 AMD-V 虚拟化技术。
- Hyper-V:Docker Desktop 依赖 Hyper-V 引擎。如果未启用,需要手动开启。
- 内存:建议至少分配 4GB 以上给 Docker。
第一步:启用必要的系统组件
Docker Desktop 需要 Hyper-V 和相关组件才能运行。请在 PowerShell (管理员模式) 中运行以下命令来启用所需的功能:
# 启用 Hyper-V 和管理工具
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName Containers -All
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -All
# 重启服务器以应用更改
Restart-Computer
注意:重启后,部分安全策略可能需要调整,通常默认设置即可。
第二步:下载并安装 Docker Desktop
-
下载安装包:
- 访问 Docker Hub 或 Docker 官网。
- 下载适用于 Windows 的
Docker Desktop Installer.exe。 - 提示:如果是生产环境且无法访问网络,需提前下载离线安装包。
-
执行安装:
- 双击运行安装包。
- 在安装向导中,务必勾选 "Use WSL 2 instead of Hyper-V"(如果可用)或直接使用默认的 Hyper-V 模式。
- WSL 2 模式性能更好,但需要确保已安装 WSL 2 内核更新。
- Server 2022 对 Hyper-V 支持非常成熟,选择 Hyper-V 模式通常更稳定。
- 点击 "Install" 并等待安装完成。
- 安装完成后,系统会提示重启,请点击 Yes。
第三步:验证安装与启动
重启后,Docker Desktop 会自动启动并在后台托盘显示图标(鲸鱼标志)。
-
打开 PowerShell 或 CMD。
-
输入以下命令检查版本:
docker --version docker-compose --version- 如果
docker-compose命令未识别,说明安装的是较新版本(v2.x+),此时 compose 是作为 Docker 插件存在的,请使用docker compose(中间有空格) 代替旧版的docker-compose。 - 验证输出应类似:
Docker version 24.0.x, build xxxxxxx Docker Compose version v2.x.x
- 如果
-
运行测试容器:
docker run hello-world如果看到 "Hello from Docker!" 字样,说明安装成功。
第四步:配置 Docker Compose (如果需要独立二进制文件)
如果你更喜欢传统的 docker-compose 命令(例如为了兼容旧脚本),或者 Docker Desktop 没有正确关联该命令,可以手动安装独立的 Compose 二进制文件:
- 下载最新版本的 Docker Compose Windows 二进制文件(例如从 GitHub Release 页面下载
docker-compose-windows-amd64.exe)。 - 将其重命名为
docker-compose.exe。 - 移动到系统路径下,例如
C:Program FilesDockerbin或C:WindowsSystem32。 - 重新打开终端,输入
docker-compose --version确认即可。
最佳实践建议:现代 Docker 推荐使用
docker compose(插件模式),它比独立的docker-compose.exe更易于维护,且随 Docker Desktop 自动更新。
常见问题与优化建议
- 资源限制:
在 Docker Desktop 的设置中(齿轮图标 -> Resources),建议将 Memory 设置为服务器物理内存的 50%-70%,CPUs 设置为逻辑核心数的一半或更多,以保证宿主机和其他服务的正常运行。 - 防火墙:
如果需要在外部访问 Docker 暴露的端口(如 80, 443, 3306),请确保 Windows Defender 防火墙允许相应端口的入站连接,或者在 Docker 设置中配置daemon.json绑定到特定 IP。 - 持久化存储:
Docker 的数据默认存储在 C 盘。对于服务器环境,建议修改daemon.json将数据目录迁移到其他磁盘,以防止 C 盘爆满。
编辑文件位置:C:ProgramDataDockerconfigdaemon.json(如果没有则新建),添加:{ "data-root": "D:\DockerData" }然后重启 Docker 服务。
至此,你的 Windows Server 2022 已经成功安装了 Docker 和 Docker Compose,可以开始部署容器化了。
CLOUD技术博