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
-
官网下载(最新稳定版):https://www.docker.com/products/docker-desktop/
-
点击 Download for Windows - AMD64
-
保存
Docker Desktop Installer.exe到桌面

四、安装 Docker Desktop
-
双击
Docker Desktop Installer.exe→ 用户账户控制点 是 -
配置页面(关键勾选):
-
✅ Use WSL 2 instead of Hyper-V(选,性能好)
-
✅ Add shortcut to desktop (添加桌面图标)

-
点击 OK → 等待安装(5--10 分钟)
-
安装完成 → 勾选 Close and restart → 立即重启电脑
-
五、首次启动与初始化
- 重启后,桌面双击 Docker Desktop 图标
- 服务协议 → 点 Accept
- 登录 / 跳过:
- 有 Docker 账号:登录
- 无账号:点 Skip 跳过(不影响使用)
- 等待启动:
- 任务栏出现鲸鱼图标
- 提示 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 盘红)
- Docker → 右上角 Settings(齿轮)
- Resources → Advanced
- Disk image location → 点 Browse 选 D/E/F 盘文件夹(如
E:\Docker\wsl) - 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.0 → Download for Windows)
网盘下载:
Windows的Docker Desktop4.X系列
链接:
https://pan.baidu.com/s/1450isx-01lTJrBUjpueubg
提取码:
k7rj
10.4、安装步骤(关键设置)
- 以管理员身份 运行
Docker Desktop Installer.exe - Configuration 页面(必选) :
- 取消勾选 :
Use WSL 2 instead of Hyper-V(❌ 不选 WSL2) - 勾选 :
Add shortcut to desktop
- 取消勾选 :

- 点击 OK → 等待安装
- 安装完成 → 重启电脑
10.5、首次启动与验证
-
启动 Docker Desktop(桌面图标)
-
接受协议 → 跳过登录
-
等待启动(任务栏鲸鱼图标)
-
验证(PowerShell) :
bashdocker --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)
- 解决 :
- Docker → Settings → General
- 勾选 Use Hyper-V (recommended)
- 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
总结
- 镜像 :
pull(下载)、images(查看)、rmi(删除) - 容器 :
run(启动)、ps(查看)、exec(进入)、stop(停止)、rm(删除) - 日志 :
logs -f(实时查看) - 清理 :
system prune(释放空间)
