windows server 2022安装docker?

在 Windows Server 2022 上安装 Docker,你需要使用 Docker Desktop for Windows 或更推荐的方式:Docker Engine(通过 Microsoft 的容器功能支持)。不过需要注意的是,Docker Desktop 官方主要支持 Windows 10/11 Pro/Enterprise 和 Windows Server 2022 的特定版本。

以下是详细的安装步骤:


✅ 前提条件

  1. 操作系统版本

    • Windows Server 2022(64位)
    • 必须启用 Hyper-V容器 功能(或使用 Windows Subsystem for Linux 2 (WSL2),但服务器版通常不用 WSL)
  2. 权限要求

    • 使用管理员账户操作
  3. 网络连接

    • 需要联网下载组件和模块

方法一:安装 Docker Engine(推荐用于服务器环境)

这是生产环境中更常见的做法 —— 直接安装 Docker 引擎(Moby/Docker-Engine),而不是 Docker Desktop。

步骤 1:以管理员身份打开 PowerShell

# 设置执行策略
Set-ExecutionPolicy RemoteSigned -Force

步骤 2:安装容器功能

# 安装“容器”可选功能
Install-WindowsFeature -Name Containers

安装完成后建议重启服务器:

Restart-Computer -Force

步骤 3:安装 Microsoft 更新源的 Docker Provider(旧方法已弃用)

⚠️ 注意:DockerMsftProvider 已不再维护(微软已于 2022 年停止更新)。现在推荐使用官方脚本或手动安装最新版 Docker Engine。


步骤 3(新方法):使用官方脚本安装最新 Docker Engine

方式 A:使用 Docker 官方提供的安装脚本(PowerShell)

# 下载并运行官方安装脚本
Invoke-WebRequest -Uri https://get.docker.com/win/stable/docker.zip -OutFile docker.zip
Expand-Archive docker.zip -DestinationPath $env:ProgramFiles
Remove-Item docker.zip

或者使用测试通道(可能更新):

Invoke-WebRequest -Uri "https://download.docker.com/components/engine/windows-server/2022/docker-24.0.7.zip" -OutFile "docker.zip"
Expand-Archive -Path "docker.zip" -DestinationPath $env:ProgramFiles -Force
Remove-Item "docker.zip"

🔗 替换 URL 中的版本号为你需要的版本(如 docker-25.0.3.zip),查看可用版本请访问:
https://download.docker.com/components/engine/windows-server/


步骤 4:将 Docker 添加到系统路径

# 添加 Docker 到环境变量 PATH
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";" + "$env:ProgramFilesdocker", [System.EnvironmentVariableTarget]::Machine)
$env:Path += ";" + "$env:ProgramFilesdocker"

步骤 5:注册 Docker 服务

# 注册 dockerd 为 Windows 服务
$env:ProgramFilesdockerdockerd --register-service

可添加参数优化启动项,例如:

dockerd --register-service -H npipe:// -H tcp://0.0.0.0:2375 --tls=false

⚠️ 开放 TCP 端口需谨慎,仅限内网或安全环境使用。


步骤 6:启动 Docker 服务

Start-Service docker

设置开机自启:

Set-Service docker -StartupType Automatic

步骤 7:验证安装

docker version

运行一个测试容器:

docker run hello-world:nanoserver

如果提示找不到镜像,可以拉取一个 Windows 兼容镜像:

docker pull mcr.microsoft.com/windows/nanoserver:ltsc2022
docker run --rm mcr.microsoft.com/windows/nanoserver:ltsc2022 echo Hello Docker!

方法二:安装 Docker Desktop(不推荐用于 Server 生产环境)

⚠️ Docker Desktop 可以在 Windows Server 2022 上运行,但它是为开发人员设计的,依赖 WSL2 或 Hyper-V GUI 层,在服务器上通常不推荐。

如果你仍然想尝试:

  1. 启用 WSL2 和 Hyper-V:

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V, Microsoft-Windows-Subsystem-Linux -All
  2. 下载 Docker Desktop Installer:
    👉 https://www.docker.com/products/docker-desktop/

  3. 安装后配置使用 Windows 容器。

  4. 注意:必须登录账号才能使用(个人免费有限制)。


🛠️ 常见问题与解决

问题 解决方案
docker: command not found 检查 PATH 是否包含 $env:ProgramFilesdocker
容器无法启动 确保主机 OS 版本与容器镜像版本匹配(如 LTSC2022 对应 nanoserver:ltsc2022)
镜像拉取失败 检查网络、DNS 或X_X设置;可配置镜像提速器(国内用户)
权限错误 使用管理员权限运行 PowerShell

✅ 总结

方案 推荐场景
Docker Engine 手动安装 ✔️ 生产服务器、轻量高效
Docker Desktop ❌ 不推荐用于 Server,适合开发调试

🔗 参考文档

  • Docker 官方文档(Windows): https://docs.docker.com/engine/installation/windows/
  • Microsoft 容器文档: https://learn.microsoft.com/en-us/virtualization/windowscontainers/

如有具体需求(如部署 ASP.NET 应用、使用 Kubernetes、私有镜像仓库等),欢迎继续提问!

未经允许不得转载:ECLOUD博客 » windows server 2022安装docker?