走啊走
加油

windows server安装docker和docker-compose?

服务器价格表

Windows Server 上安装 Docker 和 Docker Compose,需要根据你使用的 Windows Server 版本(如 2016、2019、2022)以及是否使用 Windows 容器 还是 Linux 容器 来决定安装方式。

目前(截至 2024 年),Docker 官方已不再推荐在 Windows Server 上直接运行 Docker Engine,而是推荐使用 Docker Desktop for Windows(适用于开发环境)或使用 Microsoft 的容器支持(如通过 Moby 项目和容器功能)。但如果你是在生产环境中使用,更推荐使用 Windows Server + 容器角色 + Docker Engine via Microsoft 的发布版本

以下是基于 Windows Server 2019/2022 使用 Windows 容器 安装 Docker 和 Docker Compose 的步骤:


✅ 步骤 1:启用容器功能

以管理员身份运行 PowerShell:

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

# 重启服务器
Restart-Computer -Force

✅ 步骤 2:安装 Microsoft 提供的 Docker Engine(Moby)

Microsoft 提供了一个由其维护的 Docker 引擎版本(基于 Moby),可通过 OneGet 安装。

1. 安装 Docker-Microsoft 包管理器

# 安装并导入 PowerShell 模块
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Import-Module DockerMsftProvider

2. 安装 Docker Engine

# 安装最新稳定版 Docker
Install-Package -Name docker -ProviderName DockerMsftProvider -Force

# 或者指定版本(可选)
# Find-Package -ProviderName DockerMsftProvider -AllVersions | Select-Object Name, Version
# Install-Package -Name docker -ProviderName DockerMsftProvider -RequiredVersion <version> -Force

3. 重启系统

Restart-Computer -Force

4. 验证 Docker 是否正常运行

docker --version
docker run hello-world:nanoserver

注意:hello-world:linux 不适用于 Windows 容器,应使用 nanoserver 镜像测试。


✅ 步骤 3:设置 Docker 开机自启

Set-Service Docker -StartupType Automatic
Start-Service Docker

✅ 步骤 4:安装 Docker Compose

Docker Compose 可以手动下载二进制文件安装。

方法一:使用 PowerShell 下载最新版 Docker Compose

# 下载 Docker Compose(替换 x.x.x 为最新版本号)
Invoke-WebRequest "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-windows-x86_64.exe" -UseBasicParsing -OutFile $env:ProgramFilesdockerdocker-compose.exe

# 验证安装
docker-compose --version

建议去 GitHub Releases 查看最新版本。

方法二:使用 Chocolatey(如果已安装)

choco install docker-compose

✅ 步骤 5:配置默认使用 Windows 容器

Windows Server 默认只支持 Windows 容器。若需切换 Linux 容器,需启用 Hyper-V 并运行 WSL2,但这在大多数 Windows Server 环境中不适用。

所以保持使用 Windows 容器即可。


✅ 示例:使用 docker-compose 运行一个 IIS 容器

创建 docker-compose.yml 文件:

version: '3'
services:
  iis:
    image: mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019
    ports:
      - "80:80"

运行:

docker-compose up -d

访问 http://localhost 应该看到 IIS 欢迎页。


⚠️ 注意事项

  1. 不支持 Linux 容器(除非使用 WSL2 + Hyper-V)
    Windows Server 默认仅支持 Windows 容器。要运行 Linux 容器,必须:

    • 启用 Hyper-V
    • 安装 WSL2(仅限 Server 2022 及以上)
    • 使用 dockerd 配置支持 LCOW(Linux Container on Windows),但性能差且已逐渐被弃用。
  2. 推荐方案(现代替代)

    • 使用 Kubernetes + containerd(如 AKS-Engine、kubeadm on Windows Nodes)
    • 使用 Docker Desktop + WSL2(仅适用于开发机,非 Server 生产)
  3. Docker Desktop 不支持 Windows Server 核心版
    Docker Desktop 主要面向 Windows 10/11 Pro 和 Enterprise,不支持 Server Core。


✅ 总结

步骤 命令
启用容器 Install-WindowsFeature Containers
安装 Docker Install-Module DockerMsftProvider; Install-Package docker
重启 Restart-Computer
设置开机启动 Set-Service Docker -StartupType Automatic
安装 Docker Compose 下载 .exeProgramFilesdocker

如你希望使用更现代化的方式(例如 Kubernetes、containerd),可以考虑迁移到 Microsoft 的托管服务(如 AKS) 或使用 Rancher / Mirantis Container Runtime

如有具体版本(如 Win Server 2016),请告知,我可以提供更精确的指导。