速卖通素材
努力

windows server安装docker和docker-compose?

服务器

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 包管理)

确保你有最新版的 PowerShellGetPackageManagement

# 安装 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 容器使用的是与宿主机版本兼容的镜像(如 nanoserverwindowsservercore)。


步骤 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,可以:

  1. 启用 WSL 功能
  2. 安装一个 Linux 发行版(如 Ubuntu)
  3. 在 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 » windows server安装docker和docker-compose?