windows server安装docker和docker-compose?

在 Windows Server 上安装 Docker 和 Docker Compose,取决于你使用的具体版本。目前,Docker 官方已不再推荐在 Windows Server 上使用传统的 Docker Engine(如 Docker for Windows),而是推荐使用 Docker Desktop for Windows(适用于 Windows 10/11 Pro/Enterprise)或通过 Windows Subsystem for Linux (WSL2) 来运行容器。

但如果你使用的是 Windows Server 2019 或 Windows Server 2022,并且希望原生运行 Windows 容器(不是 Linux 容器),可以通过以下方式安装和配置 Docker。


✅ 一、确认系统要求

  • 操作系统:Windows Server 2016、2019 或 2022(建议 2019+)
  • 支持 容器功能
  • PowerShell 管理员权限
  • 网络连接(用于下载模块)

⚠️ 注意:不支持在 Windows Server Core 上安装 Docker Desktop。需使用原生 Docker Engine 方式。


✅ 二、安装 Docker Engine(适用于 Windows Server)

步骤 1:启用容器功能

以管理员身份运行 PowerShell:

# 安装容器功能
Install-WindowsFeature -Name Containers

# 重启服务器
Restart-Computer -Force

步骤 2:安装 Microsoft 的 Docker Provider

# 安装 NuGet 提供程序
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force

# 注册 Microsoft 插件源
Register-PSRepository -Name DockerProviders -SourceLocation https://dockermsft.blob.core.windows.net/docker-aux/ -InstallationPolicy Trusted

# 安装 DockerProvider 模块
Install-Module -Name DockerMsftProvider -Repository DockerProviders -Force

步骤 3:安装 Docker Engine

# 使用 DockerMsftProvider 安装最新版 Docker
Install-Package -Name docker -ProviderName DockerMsftProvider -Force

第一次安装可能需要较长时间。


步骤 4:重启系统(可选但推荐)

Restart-Computer -Force

步骤 5:验证安装

# 查看 Docker 版本
docker --version

# 查看服务状态
Get-Service docker

# 启动 Docker 服务(如果未运行)
Start-Service docker

✅ 三、安装 Docker Compose

Docker Compose v2 是一个独立的 CLI 插件,可以手动下载。

方法一:通过 PowerShell 下载最新版 docker-compose 插件

# 创建插件目录
$dir = "$env:ProgramDataDockercli-plugins"
if (!(Test-Path $dir)) { New-Item $dir -ItemType Directory }

# 下载 docker-compose 插件(替换为最新版本号)
Invoke-WebRequest `
    -Uri "https://github.com/docker/compose/releases/latest/download/docker-compose-windows-x86_64.exe" `
    -OutFile "$dirdocker-compose.exe"

💡 替换链接中的版本号或使用固定版本,例如:

https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-windows-x86_64.exe


验证 Docker Compose 安装

docker compose version

注意:命令是 docker compose(两个单词),不是 docker-compose(旧格式)


✅ 四、测试运行一个 Windows 容器

docker run --rm mcr.microsoft.com/windows/nanoserver:ltsc2022 echo Hello from Windows Container!

⚠️ 注意:Windows 容器必须与主机 OS 版本匹配(如 LTSC2022 镜像只能运行在 WinSrv 2022 上)


✅ 五、常见问题解决

1. 错误:failed to create shim: unexpected EOF

  • 原因:镜像版本与主机不兼容。
  • 解决:确保拉取与当前 Windows Server 版本一致的基础镜像。

2. Docker 服务无法启动

# 检查日志
Get-EventLog -LogName Application -Source Docker -After (Get-Date).AddMinutes(-5)

# 重新安装 Docker
Uninstall-Package -Name docker
Install-Package -Name docker -ProviderName DockerMsftProvider -Force

✅ 六、替代方案(推荐开发环境使用)

如果你希望运行 Linux 容器,建议:

使用 WSL2 + Docker Desktop(仅限 Windows Server 可支持 WSL2 的版本)

  1. 启用 WSL2 功能:
    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
  2. 安装 WSL2 内核更新包(从微软官网下载)
  3. 安装 Ubuntu 等发行版
  4. 在 WSL 中安装 Docker CE 或使用 Docker Desktop for Windows(需 GUI)

⚠️ Docker Desktop 不官方支持 Windows Server,但部分用户成功运行。


✅ 总结

步骤 操作
1 启用 Containers 功能
2 安装 DockerMsftProvider 并安装 Docker
3 下载 docker-compose.exe 到 cli-plugins 目录
4 使用 docker compose 命令管理多容器应用

🔗 参考文档

  • Microsoft 官方文档:Install Docker EE on Windows Server
  • Docker Compose 发布页

如有你的 Windows Server 版本或用途更具体(如是否要跑 Linux 容器、是否允许 WSL2),欢迎补充,我可以提供更优化的方案。

未经允许不得转载:秒懂云 » windows server安装docker和docker-compose?