在 Windows 系统上安装 Docker Desktop
前言
Docker是一个超级流行的跨平台应用程序,可以轻松构建、共享和运行容器,满足各种跨平台部署软件和代码的需求。
系统要求
在开始安装之前,请确保您的 Windows 系统满足以下要求:
硬件要求
- 64位处理器
- 4GB 系统 RAM(建议 8GB 或更多)
- 必须在 BIOS 中启用硬件虚拟化支持
软件要求
- Windows 10 64位:专业版、企业版或教育版(版本 1909 或更高版本)
- Windows 11 64位:家庭版、专业版、企业版或教育版
- 需要启用 WSL 2 功能(Windows 10 版本 2004 及更高版本,或 Windows 11)
第一步:启用 Windows 功能
- 打开 PowerShell(管理员身份)并运行以下命令启用必要功能:
# 启用 Hyper-V
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
# 启用 WSL
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 启用虚拟机平台
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- 或者使用图形界面:
- 打开"控制面板" → "程序" → "启用或关闭 Windows 功能"
- 勾选以下选项:
- Hyper-V
- Windows 虚拟机监控程序平台
- Windows Subsystem for Linux (WSL)
- 点击"确定"并重启计算机
第二步:安装 WSL 2 Linux 内核更新
- 使用 PowerShell 下载并安装 WSL 2 内核更新:
# 下载 WSL2 内核更新
$url = "https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi"
$output = "$env:TEMP\wsl_update.msi"
Invoke-WebRequest -Uri $url -OutFile $output
# 安装更新
Start-Process msiexec.exe -Wait -ArgumentList "/I $output /quiet"
# 设置 WSL 2 为默认版本
wsl --set-default-version 2
-
或者手动访问 Microsoft 官方下载页面:
https://aka.ms/wsl2kernel- 下载并运行"WSL2 Linux 内核更新包"
- 按照安装向导完成安装
-
以上步骤不一定要执行,如果使用 Hyper-V 可以跳过
第三步:下载 Docker Desktop
- 使用 PowerShell 下载 Docker Desktop:
# 下载 Docker Desktop 安装程序
$url = "https://desktop.docker.com/win/stable/Docker%20Desktop%20Installer.exe"
$output = "$env:USERPROFILE\Downloads\DockerDesktopInstaller.exe"
Invoke-WebRequest -Uri $url -OutFile $output
# 或者手动下载
Start-Process "https://www.docker.com/products/docker-desktop"
- 或者访问 Docker 官方网站手动下载:
https://www.docker.com/products/docker-desktop- 点击"Download for Windows"按钮
- 下载稳定版(Stable)的 Docker Desktop Installer.exe
第四步:安装 Docker Desktop
- 使用 PowerShell 静默安装 Docker Desktop:
# 运行安装程序(静默安装)
$installerPath = "$env:USERPROFILE\Downloads\DockerDesktopInstaller.exe"
Start-Process -FilePath $installerPath -ArgumentList "install --quiet" -Wait
# 或者使用默认设置安装
Start-Process -FilePath $installerPath -Wait
- 或者双击运行下载的 Docker Desktop Installer.exe 文件
- 在安装向导中,确保选中以下选项:
- 将 Docker Desktop 添加到 PATH
- 安装 Windows 容器组件(可选,但推荐)
- 点击"OK"开始安装过程
- 安装完成后,点击"Close and restart"重启计算机
- 在安装向导中,确保选中以下选项:
第五步:配置 Docker Desktop
- 首次启动 Docker Desktop,您会看到 Docker 的欢迎界面
- 接受服务条款
- 选择使用 WSL 2 而不是 Hyper-V(推荐)
- 等待 Docker 完成初始设置(这可能需要几分钟)
- 如果前面的第二步没有安装 WSL 2,这里可以选择 Hyper-V(推荐)
第六步:验证安装
- 管理员打开命令提示符(CMD)或 PowerShell
- 输入以下命令验证 Docker 安装:
# 检查 Docker 版本
docker version
# 或者
docker --version
- 输入以下命令验证 Docker 运行状态:
docker info
- 运行测试容器以确认一切正常:
docker run --rm hello-world
如果看到"Hello from Docker!"消息,说明安装成功!
常见问题解决
问题1:Docker Desktop 无法启动
- 解决方案:确保已启用所有必要的 Windows 功能并已安装 WSL 2 内核更新
- 命令行检查:
# 检查 Hyper-V 状态
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V
# 检查 WSL 状态
wsl --list --verbose
问题2:WSL 2 安装失败
- 解决方案:运行以下命令手动安装 WSL 2:
# 安装 WSL
wsl --install
# 设置默认版本为 WSL 2
wsl --set-default-version 2
# 更新 WSL
wsl --update
问题3:虚拟化未启用
- 解决方案:
- 重启计算机并进入 BIOS/UEFI 设置
- 找到虚拟化设置(通常位于"高级"或"CPU 配置"中)
- 启用 Intel Virtualization Technology (VT-x) 或 AMD-V
- 保存设置并重启计算机
- 命令行检查虚拟化状态:
# 检查虚拟化是否启用
systeminfo | Select-String "虚拟化"
问题4:Docker 命令在 PowerShell 中不起作用
- 解决方案:以管理员身份运行 PowerShell,然后执行:
Set-ExecutionPolicy RemoteSigned
问题5:端口冲突
- 解决方案:检查并释放被占用的端口
# 查看端口占用情况
netstat -ano | findstr :2375
# 结束占用端口的进程(将<PID>替换为实际进程ID)
taskkill /f /pid <PID>
配置优化
调整资源分配
- 右键单击系统托盘中的 Docker 图标
- 选择"Settings"
- 在"Resources"选项卡中,调整:
- CPU 核心数
- 内存分配(建议至少 4GB)
- 磁盘映像大小
启用 Kubernetes(可选)
- 在 Docker Desktop 设置中,选择"Kubernetes"选项卡
- 勾选"Enable Kubernetes"
- 点击"Apply & Restart"
命令行配置 Docker 守护进程
# 创建或编辑 Docker 配置文件
notepad "$env:USERPROFILE\.docker\daemon.json"
# 添加以下内容优化配置
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
],
"insecure-registries": [],
"debug": true,
"experimental": false,
"features": {
"buildkit": true
}
}
使用 Docker
基本命令
# 拉取镜像
docker pull [镜像名]
# 运行容器
docker run [选项] [镜像名]
# 查看运行中的容器
docker ps
# 查看所有容器
docker ps -a
# 停止容器
docker stop [容器ID]
# 删除容器
docker rm [容器ID]
# 查看镜像
docker images
# 删除镜像
docker rmi [镜像ID]
# 查看 Docker 系统信息
docker system info
# 清理未使用的资源
docker system prune -a
示例:运行 Nginx 容器
# 拉取 Nginx 镜像
docker pull nginx
# 运行 Nginx 容器
docker run -d -p 80:80 --name webserver nginx
# 查看容器日志
docker logs webserver
# 停止容器
docker stop webserver
# 删除容器
docker rm webserver
然后在浏览器中访问 http://localhost 查看 Nginx 欢迎页面。
卸载 Docker Desktop
如果需要卸载 Docker Desktop,可以使用以下命令:
# 卸载 Docker Desktop
& "$env:ProgramFiles\Docker\Docker\Docker Desktop.exe" uninstall
# 或者使用安装程序卸载
& "$env:USERPROFILE\Downloads\DockerDesktopInstaller.exe" uninstall
# 清理残留文件
Remove-Item -Recurse -Force "$env:ProgramFiles\Docker"
Remove-Item -Recurse -Force "$env:APPDATA\Docker"
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\Docker"
参考文献
- Docker 官方文档
- Docker Hub - 查找和共享容器镜像
- Docker 教程 - 官方入门教程
- WSL 2 安装指南 - Microsoft 官方文档
浙公网安备 33010602011771号