Skip to content

Docker 安装(Windows)

本章将详细介绍如何在 Windows 系统上安装和配置 Docker。

系统要求

Docker Desktop 要求

  • Windows 10 64 位:专业版、企业版或教育版(Build 19041 或更高)
  • Windows 11 64 位:家庭版、专业版、企业版或教育版
  • 启用 WSL 2 或 Hyper-V 功能
  • 至少 4GB RAM
  • BIOS 中启用硬件虚拟化

检查系统版本

powershell
# 查看 Windows 版本
winver

安装 WSL 2(推荐后端)

Docker Desktop 推荐使用 WSL 2 作为后端,性能更好:

1. 启用 WSL

powershell
# 以管理员身份运行 PowerShell
wsl --install

这条命令会自动启用所需功能并安装 Ubuntu 发行版。

2. 手动启用(如果上述命令不可用)

powershell
# 启用 WSL 功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 启用虚拟机平台
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

# 重启计算机
Restart-Computer

重启后设置 WSL 2 为默认版本:

powershell
wsl --set-default-version 2

安装 Docker Desktop

1. 下载安装包

访问 Docker Desktop 官网 下载 Windows 版安装包。

2. 运行安装程序

双击 Docker Desktop Installer.exe,按照向导完成安装:

  • 勾选 "Use WSL 2 instead of Hyper-V"(推荐)
  • 勾选 "Add shortcut to desktop"(可选)

3. 启动 Docker Desktop

安装完成后,从开始菜单或桌面快捷方式启动 Docker Desktop。首次启动需要等待初始化完成。

4. 验证安装

打开 PowerShell 或命令提示符:

powershell
# 检查 Docker 版本
docker --version

# 运行测试容器
docker run hello-world

Docker Desktop 基本设置

启动 Docker Desktop 后,点击右上角齿轮图标进入设置:

资源配置

在 "Resources" → "WSL Integration" 中:

  • 启用与已安装的 WSL 发行版的集成
  • 调整 CPU、内存分配(如果使用 Hyper-V 后端)

文件共享

在 "Resources" → "File Sharing" 中添加需要挂载到容器的目录。

Docker Engine 配置

在 "Docker Engine" 中可以直接编辑 daemon.json

json
{
  "registry-mirrors": [],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

使用 Hyper-V 后端(备选)

如果不使用 WSL 2,可以启用 Hyper-V:

powershell
# 以管理员身份运行
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName Containers -All

# 重启计算机
Restart-Computer

常见问题

WSL 2 安装失败

powershell
# 更新 WSL
wsl --update

# 检查 WSL 版本
wsl -l -v

Hyper-V 与 VirtualBox 冲突

Hyper-V 启用后,VirtualBox 等虚拟化软件可能无法正常工作。解决方案:

  • 使用 WSL 2 后端代替 Hyper-V
  • 或在不需要时禁用 Hyper-V:bcdedit /set hypervisorlaunchtype off

Docker Desktop 启动缓慢

  • 确保 BIOS 中已启用虚拟化(Intel VT-x / AMD-V)
  • 增加分配给 Docker 的内存
  • 关闭不必要的后台程序

网络问题

如果容器无法访问网络:

powershell
# 重启 Docker Desktop
# 或重置 Docker 网络
docker network prune

Windows 容器(可选)

Docker Desktop 支持在 Windows 容器和 Linux 容器之间切换:

  • 右键点击系统托盘中的 Docker 图标
  • 选择 "Switch to Windows containers" 或 "Switch to Linux containers"

💡 大多数情况下使用 Linux 容器即可,Windows 容器主要用于运行 .NET Framework 等 Windows 原生应用。

延伸阅读