windows server安装docker和docker-compose?

服务器

在 Windows Server 上安装 Docker 和 Docker Compose,目前有几种方式,但最推荐的方式是使用 Docker Desktop for Windows(适用于支持的版本)或通过 Microsoft 的容器功能 + Docker Engine via Moby(传统方式)。不过请注意:

⚠️ 重要提示

  • Docker Desktop 在 Windows Server 2022 上受支持。
  • 对于旧版本如 Windows Server 2016/2019,建议使用基于 Microsoft 容器平台的原生 Docker 引擎(通过 PowerShell 安装)。
  • Docker Compose v2 是 Docker Desktop 的一部分;独立的 docker-compose(v1)已弃用。

✅ 推荐方案:在 Windows Server 2022 上安装 Docker 和 Docker Compose(使用 Docker Desktop)

步骤 1:系统要求

  • Windows Server 2022 Standard 或 Datacenter(64位)
  • 已启用 Hyper-V容器 功能
  • 至少 4GB 内存
  • 管理员权限

步骤 2:启用所需功能

以管理员身份运行 PowerShell:

# 启用 Hyper-V(如果未启用)
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

# 启用容器功能
Enable-WindowsOptionalFeature -Online -FeatureName Containers -All

💡 重启服务器后生效。


步骤 3:下载并安装 Docker Desktop

  1. 访问官方下载地址:
    🔗 https://www.docker.com/products/docker-desktop/

  2. 下载 Docker Desktop Stable 版本(支持 Windows Server 2022)

  3. 安装:

    # 运行安装程序(例如)
    DockerDesktopInstaller.exe install
  4. 安装完成后,登录并启动 Docker Desktop。

    注意:需要以管理员身份运行,并配置为使用 Windows 容器或 Linux 容器(可切换)。


步骤 4:验证安装

打开 PowerShell:

docker --version
# 输出示例:Docker version 24.0.7, build ...

docker-compose --version
# 输出示例:Docker Compose version v2.20.2

✅ 此时 docker-compose 是 Docker v2 插件,无需单独安装。


❌ 不推荐但可用:旧版方式(适用于 Server 2016/2019)

如果你不能使用 Docker Desktop(比如 Server 2019),可以手动安装 Docker Engine。

方法:使用 PowerShell 安装 Microsoft 提供的 Docker 包

1. 安装容器功能

Install-WindowsFeature -Name Containers

2. 重启服务器

Restart-Computer -Force

3. 安装 Docker Engine

# 安装 PowerShell 模块
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

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

# 更新(可选)
Update-Package -Name docker -ProviderName DockerMsftProvider

4. 重启

Restart-Computer -Force

5. 验证

docker --version
docker run hello-world:nanoserver

⚠️ 此方法仅支持 Windows 容器,且不包含 docker-compose


手动安装 Docker Compose(v2)

即使没有 Docker Desktop,也可以手动安装 docker-compose 插件。

下载 Docker Compose v2(推荐)

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

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

验证

docker compose version
# 注意:命令是 `docker compose`(无短横线),v2 新语法

✅ 推荐使用新语法:docker compose up 而不是 docker-compose up


🛠 常见问题解决

问题 解决方法
Error during hcsshim::CreateComputeSystem 检查是否启用了 Hyper-V 和嵌套虚拟化(云环境需开启)
No matching manifest for windows/amd64 使用正确的镜像标签(如 :ltsc2022, :nanoserver
Docker Desktop 无法启动 确保 BIOS 开启虚拟化,关闭冲突软件(如 VMware、旧版 VirtualBox)

✅ 总结

方案 适用系统 是否含 Docker Compose 推荐度
Docker Desktop Win Server 2022 ✅(集成 v2) ⭐⭐⭐⭐⭐
PowerShell 安装 Docker + 手动添加 compose 2016/2019/2022 ✅(手动) ⭐⭐⭐
仅使用旧版 docker-compose v1 所有 ⚠️ 已弃用 ⚠️ 不推荐

🔗 参考文档

  • Docker Desktop for Windows Server:
    https://docs.docker.com/desktop/install/windows-install/#system-requirements

  • Microsoft 容器文档:
    https://learn.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=windows-server


如有具体版本(如 Windows Server 2019),可提供更详细指导。欢迎补充你的系统版本!

未经允许不得转载:CDNK博客 » windows server安装docker和docker-compose?