奋斗
努力

在Windows Server 2022上如何部署Docker环境?

云计算

在 Windows Server 2022 上部署 Docker 环境,主要有两种主流方式:

  1. Docker Desktop for Windows(推荐用于开发/测试)

    • 基于 WSL2 或 Hyper-V
    • 图形化界面友好,适合开发者
    • 注意:官方许可仅适用于个人、小型企业(<10人且年收入<$1M),生产环境需谨慎评估许可条款
  2. Docker Engine + Windows Container Support(推荐用于生产/服务器环境)

    • 无 GUI,命令行管理
    • 完全免费,支持商业使用
    • 需要启用 Windows 容器功能

✅ 推荐方案:在生产环境中使用 Docker Engine + Windows Containers

前提条件

  • Windows Server 2022 Datacenter 或 Standard 版本
  • 已安装最新更新
  • 启用 Hyper-V 和容器功能(Windows Server 本身支持容器,无需额外 Hyper-V)
  • 建议关闭 Defender 实时扫描对 Docker 目录的影响(可选优化)

📦 步骤一:启用 Windows 容器功能

以管理员身份打开 PowerShell,运行:

Install-WindowsFeature Containers

重启服务器:

Restart-Computer

💡 Windows Server 2022 默认支持 Windows 容器和 Linux 容器。若需运行 Linux 容器,还需安装 WSL2 或 Docker Desktop;若仅运行 Windows 容器,则继续以下步骤。


🐳 步骤二:安装 Docker Engine

方法 A:使用 Chocolatey(推荐)

choco install docker-engine -y

安装完成后启动服务:

Start-Service docker
Set-Service -Name docker -StartupType 'Automatic'

验证安装:

docker --version
docker info

方法 B:手动下载安装

  1. 访问 Docker Hub Windows Server 镜像页面 或直接下载 Docker Engine MSI:

    • 下载地址:https://download.docker.com/win/static/stable/x86_64/
    • 选择对应版本的 .msi 文件(如 docker-24.0.7.msi)
  2. 双击安装程序,按提示完成安装。

  3. 安装后同样执行:

Start-Service docker
Set-Service -Name docker -StartupType 'Automatic'

🧪 步骤三:测试 Docker 是否正常工作

拉取一个轻量级 Windows 基础镜像并运行:

docker pull mcr.microsoft.com/windows/nanoserver:ltsc2022
docker run -it mcr.microsoft.com/windows/nanoserver:ltsc2022 cmd

应进入交互式命令提示符,说明 Docker 工作正常。


🐧 选项 A:如需运行 Linux Container

Windows Server 2022 不原生支持 Linux 容器,必须通过以下任一方式:

方案 1:使用 Docker Desktop(含 WSL2 后端)

  1. 下载并安装 Docker Desktop for Windows
  2. 安装时勾选 "Use WSL 2 instead of Hyper-V"
  3. 确保已启用 WSL2:
    wsl --install
    # 重启后确认
    wsl --list --verbose
  4. 启动 Docker Desktop,切换至 Linux 容器模式

⚠️ 注意:Docker Desktop 有许可证限制,不适合大规模生产部署。

方案 2:使用 Linux VM + Docker

在 Hyper-V 中创建一台 Linux 虚拟机(如 Ubuntu),在其内部安装 Docker Engine,实现 Linux 容器支持。


🔒 安全与最佳实践

  1. 不要将 Docker socket 暴露给非信任用户
  2. 使用网络隔离:为不同应用设置独立桥接网络
  3. 定期更新 Docker 引擎
  4. 使用只读文件系统和安全策略
  5. 监控资源使用:Windows 容器共享主机内核,避免资源争用

❓ 常见问题

Q: 为什么 docker ps 显示空白?

A: 确保 Docker 服务正在运行:

Get-Service docker | Select-Object Status, StartType

Q: 如何切换容器类型(Windows/Linux)?

A:

  • Windows 容器:直接运行 docker run ...
  • Linux 容器:需使用 Docker Desktop + WSL2 或 Linux VM

Q: 生产环境能否免费使用?

A:

  • Docker Engine on Windows Server:✅ 免费,可用于商业
  • Docker Desktop:❌ 仅限小团队或个人,大企业需购买订阅

📌 总结

场景 推荐方案
开发/测试 Docker Desktop + WSL2
生产环境(Windows 容器) Docker Engine + Windows Containers
生产环境(Linux 容器) Linux VM + Docker Engine 或迁移到 Linux 主机

如有更多具体需求(如 Kubernetes 集成、CI/CD 流水线等),可进一步扩展配置。

未经允许不得转载:云服务器 » 在Windows Server 2022上如何部署Docker环境?