在 Windows Server 上安装 Docker 和 Docker Compose 需要根据你使用的 Windows Server 版本进行选择。目前,Docker 官方支持 Windows Server 2016、2019、2022 等版本,通过 Windows 容器(Windows Containers) 运行。
⚠️ 注意:
- 不支持 Linux 容器(除非使用 WSL2,但 WSL2 通常不推荐用于生产服务器环境)。
- Docker Desktop 不适用于 Windows Server,应使用 Docker Engine for Windows Server。
✅ 一、前提条件
- 操作系统:Windows Server 2016 / 2019 / 2022(64位)
- 已启用 容器功能(Containers feature)
- PowerShell(管理员权限运行)
✅ 二、安装 Docker Engine(适用于 Windows Server)
方法一:使用 Microsoft 提供的脚本安装(推荐)
1. 以管理员身份打开 PowerShell
2. 安装“容器”功能
Install-WindowsFeature -Name Containers
3. 重启服务器
Restart-Computer -Force
4. 安装 Docker Engine
使用 Microsoft 维护的脚本从 PowerShell Gallery 安装:
# 安装最新稳定版 Docker Provider
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
# 安装 Docker
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
5. 再次重启(可选,有时需要)
Restart-Computer -Force
6. 验证 Docker 是否运行
docker --version
docker run hello-world:nanoserver
💡 注意:
hello-world:nanoserver
是 Windows 容器镜像,不能用hello-world
(Linux 镜像)。
✅ 三、升级 Docker(可选)
如果已有旧版本 Docker,可以更新:
Update-Package -Name docker -ProviderName DockerMsftProvider
✅ 四、安装 Docker Compose
Docker Compose 可以手动下载 .exe
文件并放置到系统路径中。
步骤:
1. 下载 Docker Compose(v2.x 推荐)
前往 GitHub 发布页:
👉 https://github.com/docker/compose/releases
例如,下载 v2.23.0
的 Windows 版本:
# 在 PowerShell 中执行(以 v2.23.0 为例)
Invoke-WebRequest -Uri "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-windows-x86_64.exe" -OutFile "$env:ProgramFilesDockerdocker-compose.exe"
💡 确保
C:Program FilesDocker
在系统 PATH 中。
2. 验证安装
docker-compose --version
# 输出示例:Docker Compose version v2.23.0
✅ 五、配置开机自启(可选)
Docker 服务默认名为 docker
,设置开机启动:
Set-Service docker -StartupType Automatic
Start-Service docker
✅ 六、使用示例(运行一个 IIS 容器)
docker run -d -p 80:80 mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019
然后访问服务器 IP,查看是否显示 IIS 默认页面。
❌ 常见问题与注意事项
问题 | 解决方案 |
---|---|
docker: command not found |
检查 PATH 是否包含 C:Program FilesDocker |
无法拉取镜像 | 确认使用的是 Windows 镜像(如 nanoserver , servercore ) |
镜像兼容性问题 | 主机 OS 版本必须与容器镜像版本匹配(如 LTSC2019 镜像需对应 WinServer 2019) |
Docker 服务无法启动 | 查看事件日志或运行 Get-EventLog -LogName Application -Source Docker -After (Get-Date).AddMinutes(-5) |
✅ 补充说明:使用 Windows Subsystem for Linux (WSL2)?
- 不推荐在 Windows Server 上使用 WSL2 + Docker Desktop。
- 生产环境中建议直接使用原生 Windows 容器和 Docker Engine。
✅ 总结
步骤 | 命令 |
---|---|
启用容器功能 | Install-WindowsFeature Containers |
安装 Docker | Install-Package -Name docker -ProviderName DockerMsftProvider |
安装 Docker Compose | 手动下载 .exe 到 C:Program FilesDocker |
验证 | docker --version , docker-compose --version |
如有具体版本需求(如 Server 2022 + Docker + Compose v2),欢迎提供详细信息,我可以给出更精确的命令。