Docker 在 Windows Server 2019/2022 上的完整安装指南
📋 系统要求
组件 | 要求 |
---|---|
操作系统 | Windows Server 2019/2022 (1809 或更高版本) |
权限 | 管理员权限 (PowerShell/CMD) |
系统资源 | 至少 4GB RAM, 10GB 可用磁盘空间 |
网络访问 | 可访问互联网 (在线安装) 或准备离线安装包 |
🔧 安装前准备
1. 启用容器功能
shell
# 安装容器功能
Install-WindowsFeature -Name Containers -Restart
# 如果重启失败,请手动重启服务器
# Restart-Computer -Force
2. 检查系统兼容性
shell
# 验证系统是否满足容器要求
Get-ComputerInfo | Select-Object OsVersion, OsHardwareAbstractionLayer, OsName
🚀 安装 Docker
方法一:在线安装 (推荐)
shell
# 1. 设置 TLS 版本 (解决 SSL/TLS 错误)
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 -bor [Net.SecurityProtocolType]::Tls13
# 2. 安装 Docker 提供程序
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force -AllowClobber
# 3. 安装 Docker 引擎
Install-Package -Name Docker -ProviderName DockerMsftProvider -Force
# 4. 重启服务器
Restart-Computer -Force
方法二:离线安装
-
下载 Docker EE
- 访问 Docker 官方下载页面
- 下载适用于 Windows Server 的 Docker EE 安装包 (如
docker-24.0.7.zip
)
-
手动安装
shell# 解压安装包到指定目录 (示例: D:\Docker) Expand-Archive -Path "docker-24.0.7.zip" -DestinationPath "D:\Docker" # 添加到系统 PATH [Environment]::SetEnvironmentVariable("Path", $env:Path + ";D:\Docker", "Machine") # 注册 Docker 服务 D:\Docker\dockerd.exe --register-service # 启动 Docker 服务 Start-Service Docker
✅ 验证安装
powershell
# 检查 Docker 版本
docker --version
# 测试 Docker 运行
docker run --rm mcr.microsoft.com/windows/nanoserver:ltsc2022 cmd /c "echo Docker 安装成功!"
# 检查服务状态
Get-Service Docker | Select-Object Status, Name
预期输出:
shell
Docker version 24.0.7, build a5d4de5
Docker 安装成功!
Status Name DisplayName
------ ---- -----------
Running Docker Docker
⚙️ 基本配置
1. 修改数据存储目录
powershell
# 停止 Docker 服务
Stop-Service Docker
# 创建配置文件
@"
{
"data-root": "D:\\docker-data",
"storage-driver": "overlay2",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
"@ | Set-Content -Path "C:\ProgramData\docker\config\daemon.json"
# 创建数据目录
New-Item -Path "D:\docker-data" -ItemType Directory -Force
# 启动 Docker 服务
Start-Service Docker
2. 配置镜像加速 (国内用户)
shell
# 编辑配置文件
@"
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://reg-mirror.qiniu.com",
"https://mirror.ccs.tencentyun.com"
],
"experimental": false,
"max-concurrent-downloads": 10,
"max-concurrent-uploads": 5
}
"@ | Set-Content -Path "C:\ProgramData\docker\config\daemon.json"
# 重启 Docker 服务
Restart-Service Docker
3. 配置 Docker 开机自启
powershell
# 设置服务为自动启动
Set-Service -Name Docker -StartupType Automatic
# 确认服务状态
Get-Service Docker | Select-Object Name, StartType, Status
🛠️ 常用命令参考
命令类别 | 命令 | 用途 |
---|---|---|
基础命令 | docker --version |
检查 Docker 版本 |
docker info |
显示 Docker 系统信息 | |
镜像管理 | docker images |
列出本地镜像 |
docker pull <镜像名> |
拉取镜像 | |
docker rmi <镜像ID> |
删除镜像 | |
容器管理 | docker ps |
列出运行中的容器 |
docker ps -a |
列出所有容器 | |
docker run -d <镜像名> |
后台运行容器 | |
docker stop <容器ID> |
停止容器 | |
docker start <容器ID> |
启动容器 | |
docker rm <容器ID> |
删除容器 | |
容器交互 | docker exec -it <容器ID> cmd |
进入容器 |
docker logs <容器ID> |
查看容器日志 | |
docker inspect <容器ID> |
检查容器配置 |
🔍 故障排除
常见问题及解决方案
问题 | 可能原因 | 解决方案 |
---|---|---|
Docker 服务无法启动 | 权限不足/端口冲突/配置错误 | 1. 以管理员身份运行 2. 检查端口 2376 是否被占用 3. 检查 daemon.json 配置 |
镜像拉取失败 | 网络问题/镜像源配置错误 | 1. 配置国内镜像加速 2. 检查网络连接 3. 尝试手动拉取 |
容器无法启动 | 资源不足/镜像不兼容 | 1. 增加系统资源 2. 检查镜像与系统版本兼容性 3. 查看详细错误日志 |
Docker 命令无响应 | 服务未正确启动 | 1. 检查服务状态 2. 重启 Docker 服务 3. 重新安装 Docker |
高级诊断命令
powershell
# 查看 Docker 事件日志
docker events --since="1h"
# 检查 Docker 系统资源使用
docker system df
# 查看详细错误日志
Get-WinEvent -LogName "Docker" | Where-Object {$_.LevelDisplayName -eq "Error"} | Format-List
📚 参考资源
🎯 后续建议
- 安全配置
- 配置 Docker 用户认证
- 限制容器资源使用
- 定期更新 Docker 版本
- 性能优化
- 调整容器内存和 CPU 限制
- 使用适当的存储驱动
- 配置日志轮转
- 备份策略
- 定期备份镜像和容器
- 备份 Docker 配置文件
- 制定灾难恢复计划
✅ 安装完成! 您现在可以在 Windows Server 上使用 Docker 了。如需进一步帮助,请查看官方文档或提供具体的错误信息。