5 分钟搞定 Windows Server Docker 安装

1,831 阅读2分钟

Docker 在 Windows Server 2019/2022 上的完整安装指南

📋 系统要求

组件要求
操作系统Windows Server 2019/2022 (1809 或更高版本)
权限管理员权限 (PowerShell/CMD)
系统资源至少 4GB RAM, 10GB 可用磁盘空间
网络访问可访问互联网 (在线安装) 或准备离线安装包

🔧 安装前准备

1. 启用容器功能

# 安装容器功能
Install-WindowsFeature -Name Containers -Restart
# 如果重启失败,请手动重启服务器
# Restart-Computer -Force

2. 检查系统兼容性

# 验证系统是否满足容器要求
Get-ComputerInfo | Select-Object OsVersion, OsHardwareAbstractionLayer, OsName

🚀 安装 Docker

方法一:在线安装 (推荐)

# 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

方法二:离线安装

  1. 下载 Docker EE
  2. 手动安装
    # 解压安装包到指定目录 (示例: 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
    

✅ 验证安装

# 检查 Docker 版本
docker --version
# 测试 Docker 运行
docker run --rm mcr.microsoft.com/windows/nanoserver:ltsc2022 cmd /c "echo Docker 安装成功!"
# 检查服务状态
Get-Service Docker | Select-Object Status, Name

预期输出:

Docker version 24.0.7, build a5d4de5
Docker 安装成功!
Status     Name               DisplayName
------     ----               -----------
Running    Docker             Docker

⚙️ 基本配置

1. 修改数据存储目录

# 停止 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. 配置镜像加速 (国内用户)

# 编辑配置文件
@"
{
    "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 开机自启

# 设置服务为自动启动
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

高级诊断命令

# 查看 Docker 事件日志
docker events --since="1h"
# 检查 Docker 系统资源使用
docker system df
# 查看详细错误日志
Get-WinEvent -LogName "Docker" | Where-Object {$_.LevelDisplayName -eq "Error"} | Format-List

📚 参考资源

  1. Docker 官方文档
  2. Windows 容器官方指南
  3. Docker Desktop for Windows
  4. Docker Hub 官方镜像

🎯 后续建议

  1. 安全配置
    • 配置 Docker 用户认证
    • 限制容器资源使用
    • 定期更新 Docker 版本
  2. 性能优化
    • 调整容器内存和 CPU 限制
    • 使用适当的存储驱动
    • 配置日志轮转
  3. 备份策略
    • 定期备份镜像和容器
    • 备份 Docker 配置文件
    • 制定灾难恢复计划

✅ 安装完成! 您现在可以在 Windows Server 上使用 Docker 了。如需进一步帮助,请查看官方文档或提供具体的错误信息。