走啊走
加油

Windows Server 2019能安装docker和docker-compose?

服务器价格表

是的,Windows Server 2019 可以安装 Docker 和 Docker Compose,但有一些重要的前提和限制需要注意。


✅ 支持情况概述

组件 是否支持 说明
Docker(Moby) ✅ 是 官方支持 Windows Server 2019 的容器功能
Docker Desktop ❌ 不推荐 / 不支持 Docker Desktop 主要面向 Windows 10/11 专业版或企业版,不支持 Windows Server
Docker Engine(通过 PowerShell 安装) ✅ 推荐方式 使用 Microsoft 提供的模块或社区脚本安装

✅ 如何在 Windows Server 2019 上安装 Docker

步骤 1:启用容器功能

以管理员身份运行 PowerShell:

# 启用容器功能
Install-WindowsFeature -Name Containers

# 重启服务器
Restart-Computer -Force

步骤 2:安装 Docker Engine

方法一:使用 Microsoft 脚本(推荐)

# 下载并运行官方安装脚本
Invoke-WebRequest "https://github.com/microsoft/hcsshim/releases/latest/download/install.ps1" -OutFile "install.ps1"
.install.ps1 -InstallPath C:ProgramDataDocker -DownloadUrl https://download.docker.com/components/engine/windows-server/2019/docker-20.10.17.zip

⚠️ 注意:请确认 Docker 版本支持 Windows Server 2019。目前最新支持的稳定版本为 20.10.x 系列。

或者手动下载并解压 Docker 引擎:

# 设置环境变量
$env:PATH += ";C:ProgramDataDocker"

# 注册 Docker 服务
dockerd --register-service

启动服务:

Start-Service docker

验证安装:

docker --version
docker run hello-world:nanoserver

💡 注意:你只能运行基于 Windows 容器的镜像(如 nanoserver, windowsservercore),不能运行 Linux 容器,除非启用了 Hyper-V 和 LCOW(Linux Container on Windows),但 LCOW 已被弃用。


步骤 3:安装 Docker Compose

Docker Compose v1(Python 版)已废弃,建议使用 Docker Compose V2(Go 编写,即 docker-compose CLI 插件)。

安装方式:

# 创建插件目录
mkdir "$env:ProgramDataDockercli-plugins"

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

验证:

docker compose version

✅ 注意:命令是 docker compose(中间无短横线),这是新版本的调用方式。


🛑 不支持的功能

  • Docker Desktop for Windows:不支持 Windows Server 系统。
  • 原生 Linux 容器(LCOW):自 Docker 20.10 起已被弃用,不推荐使用。
  • ❌ GUI 管理界面(需自行部署 Portainer 等工具)

✅ 建议场景

  • 运行 Windows 应用容器(如 IIS、.NET Framework/.NET Core)
  • 使用 Dockerfile 构建 Windows 镜像
  • 使用 docker-compose.yml 编排多个 Windows 容器服务

🔧 示例:docker-compose.yml(Windows 容器)

version: '3.7'

services:
  iis:
    image: mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019
    ports:
      - "80:80"
    restart: unless-stopped

运行:

docker compose up -d

✅ 总结

项目 是否可行 备注
安装 Docker Engine ✅ 是 使用 PowerShell + 官方脚本
安装 Docker Compose ✅ 是 推荐使用 V2 插件形式
运行 Windows 容器 ✅ 是 支持良好
运行 Linux 容器 ⚠️ 不推荐 LCOW 已废弃
使用 Docker Desktop ❌ 否 不支持 Windows Server

结论:可以安装并使用 Docker 和 Docker Compose,但必须使用命令行方式安装 Docker Engine 和 Compose 插件,不能使用 Docker Desktop。

如需更现代的替代方案,可考虑迁移到 Windows Server 2022 + Kubernetes + Containerd 或使用 Azure Container Instances / AKS 等云平台。

如有具体需求(如 .NET 应用容器化),欢迎继续提问!