一、前言
在现代软件开发领域,容器化技术已经成为提升应用部署效率和环境一致性的关键手段。Docker 作为一款卓越且被广泛应用的容器化平台,凭借其独特的技术架构,允许开发者将应用程序及其所需的全部依赖项,完整地打包进一个高度可移植的容器中。这一创新的技术方案,使得应用无论部署在何种基础环境,无论是本地开发机、测试服务器,还是复杂的生产集群,都能以高度一致的方式稳定运行,极大地降低了因环境差异导致的应用故障风险。在 Windows 操作系统生态中,Docker Desktop 凭借其出色的易用性,成为了广大开发者安装 Docker 的首选途径。它精心设计的用户友好型图形界面,将原本复杂繁琐的 Docker 安装与日常管理流程大幅简化。通过直观的操作界面,即使是初次接触 Docker 的新手,也能在短时间内轻松完成安装,并且在后续的镜像管理、容器启停、网络配置等操作中,享受到高效便捷的使用体验。
二、虚拟化技术WSL 2和Hyper-V区别
因为Docker是基于Linux内核特性的系统,而Windows与Linux在内核层面存在差异。为了能够在Windows上运行Docker容器,需要借助 WSL2(Windows Subsystem for Linux 2) 或 Hyper-V 来模拟或提供Linux环境。
WSL 2(Windows Subsystem for Linux 2)和 Hyper-V 是微软提供的两种不同的虚拟化技术,各有优缺点,适用于不同的使用场景。以下是它们的区别、优缺点以及适用场景的详细比较:
核心区别
特性 | WSL 2 | Hyper-V |
---|---|---|
定义 | 提供 Linux 子系统,允许直接运行完整 Linux 内核 | Windows 的完整虚拟化技术,用于运行虚拟机和服务 |
虚拟化方式 | 较轻量的虚拟化,基于虚拟机的 Linux 内核(使用 VM 技术) | 完整虚拟机,每个虚拟机拥有独立的资源和内核 |
内核 | 直接使用微软提供的 Linux 内核版本 | 完全分离的操作系统(可以运行多种操作系统) |
资源使用 | 更高效,内存和 CPU 分配动态调整 | 固定资源分配(根据虚拟机设置) |
用户体验 | 更接近本地 Linux 环境,深度集成 Windows | 完全独立,与 Windows 隔离 |
WSL 2 的优缺点
优点:
-
轻量级虚拟化:
启动速度快,不需要像 Hyper-V 那样加载整个虚拟机。
资源利用效率高,内存和 CPU 按需动态调整。 -
深度集成 Windows:
与 Windows 文件系统无缝交互,可以直接访问 Windows 的文件和工具。
支持通过 Windows 的终端直接运行 Linux 命令(如 bash)。 -
支持 Docker:
Docker Desktop 支持使用 WSL 2 来运行 Linux 容器,不需要 Hyper-V。 -
无需 Windows 专业版:
WSL 2 可以在 Windows 10/11 Home 上运行,而 Hyper-V 需要专业版或企业版。
缺点:
-
依赖微软的 Linux 内核:
无法自定义内核,受限于微软的更新和支持。
某些高级 Linux 功能可能不支持。 -
网络性能较弱:
与主机之间的网络性能较 Hyper-V 有一定开销(如 NAT 转换)。 -
需要 Windows 10/11 最新版本:
WSL 2 只在较新的 Windows 版本上可用。 -
不支持完整虚拟化:
不能运行非 Linux 操作系统(如 FreeBSD、Windows Server 等)。
Hyper-V 的优缺点
优点:
-
完整虚拟化能力:
可以运行多种操作系统(Linux、Windows Server、FreeBSD 等)。
每个虚拟机拥有独立的内核和操作系统环境。 -
更强的隔离性:
每个虚拟机完全独立,适合需要高安全性和隔离性的场景。 -
高性能:
在虚拟机内的资源分配明确,适合资源密集型任务。 -
企业级功能:
支持虚拟网络管理、快照(Snapshot)、热迁移(Live Migration)等高级功能。
缺点:
-
资源消耗高:
启动完整虚拟机需要较高的内存和 CPU,资源分配是固定的(除非手动调整)。
比 WSL 2 更重,占用更多磁盘空间和时间。 -
不便于文件共享:
虚拟机与主机文件系统交互需要额外配置(如共享文件夹)。 -
需要专业版系统:
仅支持 Windows 专业版、企业版或服务器版,不适用于 Home 版。 -
启动慢:
完整虚拟机的启动和关闭比 WSL 2 慢。
使用场景
WSL 2 适用场景:
-
开发者:
需要在 Windows 上运行轻量级的 Linux 环境,如 Web 开发、运行脚本或使用Linux 命令行工具。 -
Docker 用户:
希望运行 Linux 容器而无需启用 Hyper-V。 -
资源有限:
系统内存或 CPU 资源有限的用户。 -
Windows Home 用户:
无法使用 Hyper-V 时,WSL 2 是替代方案。
Hyper-V 适用场景:
- 系统管理员和企业用户:
需要运行完整的虚拟机(Windows Server 或多个 Linux 发行版)。 - 需要高隔离性:
测试软件、运行不可信程序或构建隔离的虚拟环境。 - 资源充足:
适用于拥有充足硬件资源的用户。 - 高级功能需求:
快照、虚拟网络管理、多虚拟机的高级管理需求。
总结
特性 | WSL 2 | Hyper-V |
---|---|---|
轻量级虚拟化 | 是 | 否 |
运行完整操作系统 | 否(仅支持 Linux 子系统) | 是 |
资源效率 | 高 | 较低 |
隔离性 | 较低(深度集成 Windows) | 高 |
文件交互 | 无缝交互 | 需额外配置 |
适用版本 | 所有 Windows 版本(需较新版本) | 仅支持专业版及以上 |
在资源有限的情况下,考虑到后期开发中,要通过开发工具打包 docker 镜像,WSL 2 就成为了更优之选。它能在 Windows 系统内高效运行 Ubuntu,不仅节省资源,还能无缝对接 Windows 开发环境,为后续镜像打包等操作提供极大便利,有效提升开发效率。
三、安装Docker Desktop
下载安装包
官网:https://www.docker/
下载后文件:
安装
双击Docker Desktop Installer.exe进行安装docker
- 初始化
- 配置,走默认
Use WSL 2 instead of Hyper-V(recommended) 使用WSL 2而不是Hyper-V(推荐)
Add shortcut to desktop 将快捷方式添加到桌面 - 解压缩文件
- 安装成功并重启服务(必须重启)
- 启用虚拟化
重启后WSL 2会自动开启,此时打开我们的任务管理器看虚拟化是否启动。若未启动,进入BIOS开启。
- 在桌面双击Docker Desktop图标,弹出提示
7.更新WSL 2
8. 同意协议
- 跳过登录
8. 进入如下页面可正常使用
一、前言
在现代软件开发领域,容器化技术已经成为提升应用部署效率和环境一致性的关键手段。Docker 作为一款卓越且被广泛应用的容器化平台,凭借其独特的技术架构,允许开发者将应用程序及其所需的全部依赖项,完整地打包进一个高度可移植的容器中。这一创新的技术方案,使得应用无论部署在何种基础环境,无论是本地开发机、测试服务器,还是复杂的生产集群,都能以高度一致的方式稳定运行,极大地降低了因环境差异导致的应用故障风险。在 Windows 操作系统生态中,Docker Desktop 凭借其出色的易用性,成为了广大开发者安装 Docker 的首选途径。它精心设计的用户友好型图形界面,将原本复杂繁琐的 Docker 安装与日常管理流程大幅简化。通过直观的操作界面,即使是初次接触 Docker 的新手,也能在短时间内轻松完成安装,并且在后续的镜像管理、容器启停、网络配置等操作中,享受到高效便捷的使用体验。
二、虚拟化技术WSL 2和Hyper-V区别
因为Docker是基于Linux内核特性的系统,而Windows与Linux在内核层面存在差异。为了能够在Windows上运行Docker容器,需要借助 WSL2(Windows Subsystem for Linux 2) 或 Hyper-V 来模拟或提供Linux环境。
WSL 2(Windows Subsystem for Linux 2)和 Hyper-V 是微软提供的两种不同的虚拟化技术,各有优缺点,适用于不同的使用场景。以下是它们的区别、优缺点以及适用场景的详细比较:
核心区别
特性 | WSL 2 | Hyper-V |
---|---|---|
定义 | 提供 Linux 子系统,允许直接运行完整 Linux 内核 | Windows 的完整虚拟化技术,用于运行虚拟机和服务 |
虚拟化方式 | 较轻量的虚拟化,基于虚拟机的 Linux 内核(使用 VM 技术) | 完整虚拟机,每个虚拟机拥有独立的资源和内核 |
内核 | 直接使用微软提供的 Linux 内核版本 | 完全分离的操作系统(可以运行多种操作系统) |
资源使用 | 更高效,内存和 CPU 分配动态调整 | 固定资源分配(根据虚拟机设置) |
用户体验 | 更接近本地 Linux 环境,深度集成 Windows | 完全独立,与 Windows 隔离 |
WSL 2 的优缺点
优点:
-
轻量级虚拟化:
启动速度快,不需要像 Hyper-V 那样加载整个虚拟机。
资源利用效率高,内存和 CPU 按需动态调整。 -
深度集成 Windows:
与 Windows 文件系统无缝交互,可以直接访问 Windows 的文件和工具。
支持通过 Windows 的终端直接运行 Linux 命令(如 bash)。 -
支持 Docker:
Docker Desktop 支持使用 WSL 2 来运行 Linux 容器,不需要 Hyper-V。 -
无需 Windows 专业版:
WSL 2 可以在 Windows 10/11 Home 上运行,而 Hyper-V 需要专业版或企业版。
缺点:
-
依赖微软的 Linux 内核:
无法自定义内核,受限于微软的更新和支持。
某些高级 Linux 功能可能不支持。 -
网络性能较弱:
与主机之间的网络性能较 Hyper-V 有一定开销(如 NAT 转换)。 -
需要 Windows 10/11 最新版本:
WSL 2 只在较新的 Windows 版本上可用。 -
不支持完整虚拟化:
不能运行非 Linux 操作系统(如 FreeBSD、Windows Server 等)。
Hyper-V 的优缺点
优点:
-
完整虚拟化能力:
可以运行多种操作系统(Linux、Windows Server、FreeBSD 等)。
每个虚拟机拥有独立的内核和操作系统环境。 -
更强的隔离性:
每个虚拟机完全独立,适合需要高安全性和隔离性的场景。 -
高性能:
在虚拟机内的资源分配明确,适合资源密集型任务。 -
企业级功能:
支持虚拟网络管理、快照(Snapshot)、热迁移(Live Migration)等高级功能。
缺点:
-
资源消耗高:
启动完整虚拟机需要较高的内存和 CPU,资源分配是固定的(除非手动调整)。
比 WSL 2 更重,占用更多磁盘空间和时间。 -
不便于文件共享:
虚拟机与主机文件系统交互需要额外配置(如共享文件夹)。 -
需要专业版系统:
仅支持 Windows 专业版、企业版或服务器版,不适用于 Home 版。 -
启动慢:
完整虚拟机的启动和关闭比 WSL 2 慢。
使用场景
WSL 2 适用场景:
-
开发者:
需要在 Windows 上运行轻量级的 Linux 环境,如 Web 开发、运行脚本或使用Linux 命令行工具。 -
Docker 用户:
希望运行 Linux 容器而无需启用 Hyper-V。 -
资源有限:
系统内存或 CPU 资源有限的用户。 -
Windows Home 用户:
无法使用 Hyper-V 时,WSL 2 是替代方案。
Hyper-V 适用场景:
- 系统管理员和企业用户:
需要运行完整的虚拟机(Windows Server 或多个 Linux 发行版)。 - 需要高隔离性:
测试软件、运行不可信程序或构建隔离的虚拟环境。 - 资源充足:
适用于拥有充足硬件资源的用户。 - 高级功能需求:
快照、虚拟网络管理、多虚拟机的高级管理需求。
总结
特性 | WSL 2 | Hyper-V |
---|---|---|
轻量级虚拟化 | 是 | 否 |
运行完整操作系统 | 否(仅支持 Linux 子系统) | 是 |
资源效率 | 高 | 较低 |
隔离性 | 较低(深度集成 Windows) | 高 |
文件交互 | 无缝交互 | 需额外配置 |
适用版本 | 所有 Windows 版本(需较新版本) | 仅支持专业版及以上 |
在资源有限的情况下,考虑到后期开发中,要通过开发工具打包 docker 镜像,WSL 2 就成为了更优之选。它能在 Windows 系统内高效运行 Ubuntu,不仅节省资源,还能无缝对接 Windows 开发环境,为后续镜像打包等操作提供极大便利,有效提升开发效率。
三、安装Docker Desktop
下载安装包
官网:https://www.docker/
下载后文件:
安装
双击Docker Desktop Installer.exe进行安装docker
- 初始化
- 配置,走默认
Use WSL 2 instead of Hyper-V(recommended) 使用WSL 2而不是Hyper-V(推荐)
Add shortcut to desktop 将快捷方式添加到桌面 - 解压缩文件
- 安装成功并重启服务(必须重启)
- 启用虚拟化
重启后WSL 2会自动开启,此时打开我们的任务管理器看虚拟化是否启动。若未启动,进入BIOS开启。
- 在桌面双击Docker Desktop图标,弹出提示
7.更新WSL 2
8. 同意协议
- 跳过登录
8. 进入如下页面可正常使用