Windows 下 Docker Desktop 安装教程及常用命令(2026 最新)

Windows 安装 Docker 核心是 Docker Desktop + WSL2(推荐),家庭版 / 专业版通用,性能好、最稳定,下面是详细步骤。

一、系统与硬件要求

1. 1、系统版本

  • Windows 10 64 位:家庭 / 专业 / 企业 22H2(Build 19045+)
  • Windows 11 64 位:全版本(家庭 / 专业 / 企业)

如果系统版本不够安装会报错:

这时候需要升级系统版本安装 Docker Desktop 4.23.0 或更早版本 ,并使用 Hyper-V 后端 (避开新版 WSL 2 内核不兼容问题)。直接看 十、针对Windows 10 专业版低系统版本的docker

1.2、 硬件要求

  • CPU:64 位、支持 Intel VT-x / AMD-V 虚拟化(必须在 BIOS 开启)
  • 内存:≥4GB(推荐 8GB+)
  • 硬盘:SSD 优先,C 盘至少20GB + 空闲

1.3、 检查虚拟化是否开启

  • 任务管理器 → 性能 → CPU:查看 虚拟化:已启用
  • 若显示 "已禁用":重启电脑按 Del/F2/F10 进 BIOS,开启 Intel Virtual Technology (VT-x)AMD-V,保存重启。

二、启用 WSL2

WSL2 = Windows Linux 子系统,Docker 推荐后端,家庭版必装、专业版推荐。

方法 1:PowerShell 自动安装

  • 管理员身份打开 PowerShell
  • 执行命令:
bash 复制代码
wsl --install
  • 自动安装:WSL 内核 + Ubuntu(默认)
  • 安装完成 重启电脑

如果这一步失败,返回信息,就像下面这样,就使用方法 2:

方法 2:手动启用

控制面板 → 程序 → 启用或关闭 Windows 功能

勾选:

  • 适用于 Linux 的 Windows 子系统
  • 虚拟机平台

确定 → 重启电脑


三、下载 Docker Desktop


四、安装 Docker Desktop

  1. 双击 Docker Desktop Installer.exe → 用户账户控制点

  2. 配置页面(关键勾选):

    • Use WSL 2 instead of Hyper-V(选,性能好)

    • Add shortcut to desktop (添加桌面图标)

    • 点击 OK → 等待安装(5--10 分钟)

    • 安装完成 → 勾选 Close and restart立即重启电脑


五、首次启动与初始化

  1. 重启后,桌面双击 Docker Desktop 图标
  2. 服务协议 → 点 Accept
  3. 登录 / 跳过:
    • 有 Docker 账号:登录
    • 无账号:点 Skip 跳过(不影响使用)
  4. 等待启动:
    • 任务栏出现鲸鱼图标
    • 提示 Docker Desktop is running 即成功

六、验证安装

打开 PowerShell 或 CMD,依次执行:

1. 查看版本

powershell

复制代码
docker --version
# 输出:Docker version 26.x.x, build xxx

2. 测试容器

powershell

复制代码
docker run hello-world

出现 Hello from Docker! 即安装完全成功。


七、必做优化(解决 C 盘爆满 / 下载慢)

1. 更换镜像存储位置(防 C 盘红)

  1. Docker → 右上角 Settings(齿轮)
  2. Resources → Advanced
  3. Disk image location → 点 Browse 选 D/E/F 盘文件夹(如 E:\Docker\wsl
  4. Apply & Restart → 等待迁移完成

2. 配置国内镜像加速(解决拉取超时)

  • Settings → Docker Engine
  • 在 JSON 中添加 registry-mirrors
bash 复制代码
{
  "registry-mirrors": [
    "https://docker.1panelproxy.com",
    "https://docker.m.daocloud.io",
    "https://docker.registry.cyou",
    "https://docker.jsdelivr.fyi",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.rainbond.cc",
    "https://dockerhub.icu",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://mirror.iscas.ac.cn",
    "https://mirror.aliyuncs.com",
    "https://hub-mirror.c.163.com",
    "https://your_preferred_mirror",
    "https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com"
  ],
  "features": {
    "buildkit": true
  }
}
  • Apply & Restart 生效

八、常见问题

1. WSL2 安装失败

  • 执行:
bash 复制代码
wsl --update
wsl --set-default-version 2
  • 重启电脑再启动 Docker

2. 启动报错 "虚拟化未开启"

  • 进 BIOS 开启 VT-x / AMD-V
  • Windows 功能:开启 虚拟机平台

3. 家庭版用户

  • 必须用 WSL2,不能用 Hyper-V
  • 按上面步骤安装 WSL2 即可

九、常用命令

bash 复制代码
# 查看版本
docker --version
docker-compose --version

# 查看运行容器
docker ps

# 测试hello-world
docker run hello-world

# 启动/停止Docker
# 桌面点图标启停

十、针对Windows 10 专业版低系统版本的docker

推荐Docker Desktop 4.23.0(稳定、兼容 21H1,支持 Hyper-V)

10.1.、开启 Hyper-V(专业版专属)

  • 控制面板 → 程序 → 启用或关闭 Windows 功能

  • 勾选:

    • Hyper-V(全部子项)
    • 虚拟机平台
    • 适用于 Linux 的 Windows 子系统(可选备用)
  • 确定 → 重启电脑

10.2.、确认 BIOS 开启虚拟化

  • 任务管理器 → 性能 → CPU:虚拟化:已启用

10.3、下载适配版 Docker Desktop

官方历史版下载(4.23.0):

https://docs.docker.com/desktop/release-notes/#4230(下拉找到 Docker Desktop 4.23.0Download for Windows

网盘下载:

Windows的Docker Desktop4.X系列

链接:

https://pan.baidu.com/s/1450isx-01lTJrBUjpueubg

提取码:

k7rj

10.4、安装步骤(关键设置)

  1. 管理员身份 运行 Docker Desktop Installer.exe
  2. Configuration 页面(必选)
    • 取消勾选Use WSL 2 instead of Hyper-V(❌ 不选 WSL2)
    • 勾选Add shortcut to desktop

  1. 点击 OK → 等待安装
  2. 安装完成 → 重启电脑

10.5、首次启动与验证

  1. 启动 Docker Desktop(桌面图标)

  2. 接受协议 → 跳过登录

  3. 等待启动(任务栏鲸鱼图标)

  4. 验证(PowerShell)

    bash 复制代码
    docker --version
    # 输出 Docker version 24.0.4 (对应 4.23.0)
    
    docker run hello-world
    # 出现 Hello from Docker! 即成功

10.6、常见问题(21H1 专属)

1. 启动报错 Windows version is incompatible

  • 原因:装了新版 Docker (≥4.24.0)
  • 解决 :卸载 → 安装 4.23.0 版

2. WSL 2 错误(wsl not found

  • 解决
    1. Docker → Settings → General
    2. 勾选 Use Hyper-V (recommended)
    3. Apply & Restart

3. 镜像拉取慢

  • 添加国内镜像(Settings → Docker Engine):
bash 复制代码
{
  "registry-mirrors": [
    "https://docker.1panelproxy.com",
    "https://docker.m.daocloud.io",
    "https://docker.registry.cyou",
    "https://docker.jsdelivr.fyi",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.rainbond.cc",
    "https://dockerhub.icu",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://mirror.iscas.ac.cn",
    "https://mirror.aliyuncs.com",
    "https://hub-mirror.c.163.com",
    "https://your_preferred_mirror",
    "https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com"
  ]
}

10.7、总结(21H1 必看)

  • 最佳版本Docker Desktop 4.23.0
  • 必选后端Hyper-V(不要用 WSL2)
  • 核心步骤:开启 Hyper-V → 装 4.23.0 → 选 Hyper-V 引擎

十一、Docker命令使用说明

11.1、Docker 基础信息命令

复制代码
# 查看 Docker 版本
docker --version

# 查看 Docker 详细信息(版本、镜像数、容器数)
docker info

# 查看命令帮助(比如查看 run 命令用法)
docker run --help

11.2、Docker 镜像(Image)命令

镜像 = 软件安装包(包含程序 + 环境)

1. 搜索镜像

复制代码
# 从 Docker Hub 搜索镜像
docker search 镜像名

# 示例:搜索 Nginx 镜像
docker search nginx

2. 下载(拉取)镜像

复制代码
# 格式:docker pull 镜像名[:标签],默认 latest 最新版
docker pull 镜像名

# 示例 1:下载最新版 Nginx
docker pull nginx

# 示例 2:下载指定版本 MySQL 8.0
docker pull mysql:8.0

3. 查看本地所有镜像

复制代码
docker images
# 或简写
docker image ls

4. 删除本地镜像

复制代码
# 格式:docker rmi 镜像ID / 镜像名
docker rmi 镜像名/镜像ID

# 示例 1:按名称删除 Nginx
docker rmi nginx

# 示例 2:按 ID 删除镜像(ID 只需输入前 3 位即可)
docker rmi a1b

5. 查看镜像详情

复制代码
docker inspect 镜像名/ID

6. 给镜像打标签

复制代码
docker tag 原镜像名:标签 新镜像名:标签

7. 推送到镜像仓库(Docker Hub / 私有仓库)

复制代码
docker push 用户名/镜像名:标签

8. 登录 / 登出仓库

复制代码
docker login
docker logout

9. 导出镜像(保存成本地文件)

复制代码
docker save -o 文件名.tar 镜像名:标签

10. 导入本地镜像文件

复制代码
docker load -i 文件名.tar

11. 查看镜像构建历史

复制代码
docker history 镜像名/ID

11.3、Docker 容器(Container)命令

容器 = 镜像运行后的实例(相当于运行中的软件)

1. 创建并启动容器(最核心命令:docker run)

复制代码
# 基础格式
docker run [参数] 镜像名

# 常用参数:
# -d :后台运行
# -p 宿主机端口:容器端口 :端口映射
# --name :给容器起名字
# -v 宿主机目录:容器目录 :数据挂载(数据持久化)
# -e :设置环境变量(如密码)
# --restart=always :开机自启
常用 run 示例
复制代码
# 示例 1:启动 Nginx(后台运行 + 端口映射)
docker run -d -p 80:80 --name mynginx nginx

# 示例 2:启动 MySQL 8.0(设置密码 + 数据持久化 + 自启)
docker run -d \
  -p 3306:3306 \
  --name mysql8 \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -v /mydata/mysql:/var/lib/mysql \
  --restart=always \
  mysql:8.0

# 示例 3:启动 Redis(带密码)
docker run -d -p 6379:6379 --name myredis redis redis-server --requirepass 123456

2. 查看容器

复制代码
# 查看正在运行的容器
docker ps

# 查看所有容器(包括停止的)
docker ps -a

# 查看容器资源占用(CPU、内存)
docker stats

3. 进入运行中的容器

复制代码
# 标准进入方式(推荐)
docker exec -it 容器名/容器ID /bin/bash

# 示例:进入 Nginx 容器
docker exec -it mynginx /bin/bash

# 退出容器(不停止容器)
exit

4. 启动 / 停止 / 重启容器

复制代码
# 停止容器
docker stop 容器名/ID

# 启动已停止的容器
docker start 容器名/ID

# 重启容器
docker restart 容器名/ID

# 示例:停止 mynginx
docker stop mynginx

5. 删除容器

复制代码
# 删除已停止的容器
docker rm 容器名/ID

# 强制删除运行中的容器(不推荐)
docker rm -f 容器名/ID

# 示例:删除 mynginx
docker rm mynginx

6. 查看容器日志

复制代码
# 查看日志
docker logs 容器名/ID

# 实时查看日志(持续刷新)
docker logs -f 容器名/ID

# 示例:查看 Nginx 日志
docker logs -f mynginx

7. 复制文件(宿主机 ↔ 容器)

复制代码
# 从容器复制文件到宿主机
docker cp 容器名:容器路径 宿主机路径

# 示例:把 Nginx 配置文件复制到本地
docker cp mynginx:/etc/nginx/nginx.conf /home/

8. 暂停 / 恢复容器

复制代码
docker pause 容器名/ID
docker unpause 容器名/ID

9. 重命名容器

复制代码
docker rename 旧名 新名

10. 查看容器内文件变化(对比原始镜像)

复制代码
docker diff 容器名/ID

11. 等待容器停止(阻塞直到容器停)

复制代码
docker wait 容器名/ID

11.4、数据卷(Volume)命令

用于数据持久化,防止容器删除后数据丢失

复制代码
# 创建数据卷
docker volume create myvolume

# 查看所有数据卷
docker volume ls

# 查看数据卷详情
docker volume inspect myvolume

# 删除无用数据卷
docker volume prune

# 删除指定数据卷
docker volume rm 卷名

11.5、网络(Network)命令

复制代码
# 查看所有网络
docker network ls

# 创建自定义网络
docker network create mynet

# 删除网络
docker network rm mynet

11.5.1. 容器连接 / 断开网络

复制代码
docker network connect 网络名 容器名
docker network disconnect 网络名 容器名

11.5.2. 清理无用网络

复制代码
docker network prune

11.6、Docker 系统清理命令

复制代码
# 查看 Docker 占用空间
docker system df

# 清理停止的容器、无用镜像、缓存(安全清理)
docker system prune

# 强制清理所有无用资源(慎用!会删除未使用的镜像)
docker system prune -a

11.7、Docker Compose 常用命令(必备)

用于一键启动多个容器(如 Nginx + MySQL + Redis)

docker-compose

旧版独立工具(Python 编写)| 需要单独安装 docker-compose 二进制文件|已废弃,不再维护|仅支持老版本 Docker

docker compose

Docker 官方内置插件(Go 编写)|安装 Docker Desktop 后自带,无需额外安装|官方推荐,持续更新|支持所有新版 Docker 功能

11.7.1、基础核心命令(最常用)

作用 旧版(docker-compose) 新版(docker compose)
启动服务(前台) docker-compose up docker compose up
启动服务(后台守护进程) docker-compose up -d docker compose up -d
停止并删除容器 / 网络 docker-compose down docker compose down
停止服务(不删除容器) docker-compose stop docker compose stop
启动已停止的服务 docker-compose start docker compose start
重启服务 docker-compose restart docker compose restart
查看服务日志 docker-compose logs docker compose logs
实时查看日志 docker-compose logs -f docker compose logs -f

11.7.2、构建与更新命令

作用 旧版 新版
构建镜像并启动 docker-compose up --build docker compose up --build
仅构建镜像(不启动) docker-compose build docker compose build
拉取最新镜像 docker-compose pull docker compose pull
强制重新创建容器 docker-compose up --force-recreate docker compose up --force-recreate

11.7.3、查看与管理命令

作用 旧版 新版
查看运行中的服务 docker-compose ps docker compose ps
查看所有容器(含停止) docker-compose ps -a docker compose ps -a
进入容器终端 docker-compose exec 服务名 bash docker compose exec 服务名 bash
查看服务进程 docker-compose top docker compose top
验证配置文件语法 docker-compose config docker compose config
查看配置文件详情 docker-compose config -q docker compose config -q

11.7.4、删除与清理命令

作用 旧版 新版
删除停止的容器 docker-compose rm docker compose rm
停止 + 删除 + 删除镜像 docker-compose down --rmi all docker compose down --rmi all
删除 + 删除数据卷 docker-compose down -v docker compose down -v

11.7.5、补充

bash 复制代码
# 查看服务依赖/启动顺序
docker compose ps --all

# 只重启某个服务
docker compose restart 服务名

# 构建但不启动
docker compose build

# 拉取镜像但不启动
docker compose pull

# 检查配置文件是否正确
docker compose config -q

11.7.6、高频实用命令

1.最常用组合(开发必备)
复制代码
# 后台启动,有修改就重新构建镜像
docker compose up -d --build

# 停止并删除所有资源(保留数据卷)
docker compose down

# 停止并删除所有资源(连数据一起清空)
docker compose down -v
2. 调试命令
复制代码
# 实时查看所有日志
docker compose logs -f

# 查看单个服务日志
docker compose logs -f 服务名

# 进入容器内部
docker compose exec 服务名 sh
3. 批量更新服务
复制代码
# 拉取最新镜像 → 重启服务
docker compose pull && docker compose up -d

11.8、系统 & 其他(补充)

1. 实时查看事件(docker 运行日志)

复制代码
docker events

2. 挂载本地文件 / 目录并临时运行容器(常用调试)

复制代码
docker run --rm -v 本地目录:容器目录 镜像 命令

--rm:退出即删除容器,非常干净。

11.9、运行实例

1. 运行 Nginx 网页服务器

复制代码
docker run -d -p 80:80 --name mynginx nginx

访问:服务器IP 即可看到 Nginx 欢迎页

2. 运行 MySQL 数据库

复制代码
docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0

连接信息:IP:3306,账号 root,密码 123456

总结

  1. 镜像pull(下载)、images(查看)、rmi(删除)
  2. 容器run(启动)、ps(查看)、exec(进入)、stop(停止)、rm(删除)
  3. 日志logs -f(实时查看)
  4. 清理system prune(释放空间)
相关推荐
春日见2 小时前
云服务器开发与SSH
运维·服务器·人工智能·windows·git·自动驾驶·ssh
还是做不到嘛\.2 小时前
DVWA靶场-Brute Force
运维·服务器·数据库·学习
rrrjqy2 小时前
用 Docker 部署远程 MySQL:从端口踩坑到权限全开(附避坑指南)
mysql·adb·docker
克莱因3582 小时前
linux主机名与Hosts映射 (顺带个DNS简介
linux·运维·服务器
XMAIPC_Robot2 小时前
基于RK3588 ARM+FPGA的电火花数控系统设计与测试(三)
运维·arm开发·人工智能·fpga开发·边缘计算
Elastic 中国社区官方博客3 小时前
现已正式发布: Elastic Cloud Hosted 上的托管 OTLP Endpoint
大数据·运维·数据库·功能测试·elasticsearch·全文检索
普通网友3 小时前
《K8s 滚动更新与回滚:详细教程》
docker·容器·kubernetes
意疏3 小时前
【Linux 篇】Docker 容器星河与镜像灯塔:Linux 系统下解锁应用部署奇幻征程
linux·docker
LDG_AGI3 小时前
【人工智能】OpenClaw(一):MacOS极简安装OpenClaw之Docker版
运维·人工智能·深度学习·机器学习·docker·容器·推荐算法