在 Windows Server 上安装 Docker 和 Docker Compose,有几种方式,但最推荐的方式是使用 Docker Desktop for Windows(适用于 Windows Server 2019/2022)或通过 Microsoft 的容器功能 + Docker Engine(以服务方式运行)。不过需要注意的是:
⚠️ Docker Desktop 默认不支持大多数 Windows Server 版本,除非你使用的是 Windows Server 2019/2022 Datacenter with Desktop Experience 并启用了特定功能。
✅ 推荐方案:在 Windows Server 上使用 Docker Engine(独立版) + Docker Compose
这是生产环境更常见的做法。
步骤 1:启用容器功能
以管理员身份打开 PowerShell 执行以下命令:
# 安装容器功能
Install-WindowsFeature -Name Containers
# 重启服务器
Restart-Computer -Force
步骤 2:安装 Microsoft 软件包管理器(MSI 包管理)
确保你有最新版的 PowerShellGet 和 PackageManagement:
# 安装 NuGet 提供程序
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
# 设置 PSGallery 为受信任源
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
步骤 3:安装 Docker 引擎(使用 PowerShell 模块)
# 安装 DockerMsftProvider(微软提供的 Docker 安装模块)
Install-Module -Name DockerMsftProvider -Force
# 使用该模块安装 Docker
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
这会从微软镜像下载并安装官方 Docker EE(企业版)引擎。
步骤 4:重启系统(可选但建议)
Restart-Computer -Force
验证 Docker 是否运行:
Get-Service docker
你应该看到状态为“Running”。
测试 Docker:
docker --version
docker run hello-world:nanoserver
注意:Windows 容器使用的是与宿主机版本兼容的镜像(如
nanoserver或windowsservercore)。
步骤 5:安装 Docker Compose
方法一:使用 GitHub 下载最新版本(推荐)
前往 https://github.com/docker/compose/releases
例如,下载 v2.27.0 版本(替换为最新稳定版):
# 下载 docker-compose.exe
Invoke-WebRequest `
-Uri "https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-windows-x86_64.exe" `
-OutFile "$env:ProgramFilesDockerdocker-compose.exe"
确保 Docker 安装路径是
$env:ProgramFilesDocker
验证是否成功:
docker-compose --version
方法二:使用 PowerShell 安装(旧方法,可能不更新)
# 不太推荐,版本较老
Install-Module -Name DockerCompose -Force
但此模块已过时,建议手动下载。
步骤 6:配置开机自启动(可选)
Docker 服务默认应该已经设置为自动启动:
Set-Service docker -StartupType Automatic
常见问题解决
❌ 错误:no matching manifest for windows/amd64
- 原因:拉取了 Linux 镜像,而 Windows 容器只能运行 Windows 基础镜像。
- 解决:确保使用 Windows 兼容镜像,如:
docker run mcr.microsoft.com/windows/nanoserver:ltsc2022 echo "Hello"
❌ 无法运行 Linux 容器?
- Windows Server 上的 Docker 默认只支持 Windows 容器。
- 若需支持 Linux 容器,必须使用 Hyper-V Isolation 或 WSL2(仅限 Windows Server Core 支持 WSL?目前有限制,通常不推荐)。
🔁 可选替代方案:使用 WSL2 + Docker(高级用户)
如果你使用的是 Windows Server 2022 并支持 WSL2,可以:
- 启用 WSL 功能
- 安装一个 Linux 发行版(如 Ubuntu)
- 在 Linux 中安装 Docker Engine 和 Docker Compose
但这属于复杂部署,适合特定场景。
✅ 总结:完整命令清单(复制粘贴)
# 1. 启用容器功能
Install-WindowsFeature -Name Containers
# 2. 重启
Restart-Computer -Force
# 登录后继续执行:
# 3. 安装包管理支持
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
# 4. 安装 Docker 引擎
Install-Module -Name DockerMsftProvider -Force
Install-Package -Name docker -ProviderName DockerMsftProvider -Force
# 5. 重启
Restart-Computer -Force
# 6. 安装 Docker Compose(替换 v2.x.x 为最新版)
Invoke-WebRequest `
-Uri "https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-windows-x86_64.exe" `
-OutFile "$env:ProgramFilesDockerdocker-compose.exe"
# 7. 验证
docker --version
docker-compose --version
如有更多需求(如加入 Swarm、配置 TLS、使用 Portainer 等),欢迎继续提问!
轻量云Cloud