本篇目录
Docker简介
1.1 Docker 的核心概念
1.2 Docker与虚拟机的区别
1.3 Docker 的底层原理
1.4 什么是WSL、Hyper-V
Dockerd Desktop安装
2.1 安装步骤
2.1 安装路径及数据文件存放位置问题
1. Docker简介
Docker 是一种开源的 容器化(Containerization)技术,用于快速构建、打包、分发和运行应用程序及其依赖环境。它的核心思想是通过“容器”将应用与底层系统隔离,实现 一次构建,处处运行 的效果。
官网地址
https://www.docker.com/
仓库(Registry)
https://hub.docker.com/
1.1 Docker 的核心概念
容器(Container)
轻量级的虚拟化单元,包含应用代码、运行时、系统工具和依赖库。
共享宿主机的操作系统内核,因此启动快、资源占用低(相比传统虚拟机)。
每个容器独立运行,互不干扰。
镜像(Image)
容器的“模板”,定义了运行环境和应用代码(如一个包含 Python 环境和 Flask 应用的镜像)。
镜像通过分层存储(Layer)实现高效复用,例如多个镜像可以共享基础层(如 Ubuntu 系统层)。
Dockerfile
用于定义镜像构建步骤的脚本文件,如:
FROM python:3.8 # 基础镜像COPY ./app # 复制代码到容器RUN pip install flask # 安装依赖CMD ["python", "/app/app.py"] # 启动命令
仓库(Registry)
存储和分发镜像的平台,如官方仓库 Docker Hub或私有仓库(如 Harbor)。
1.2 Docker 与虚拟机的区别
1.3 Docker 的底层原理
● Namespaces:隔离进程、网络、文件系统等资源(如每个容器有独立的 PID、网络接口)。
● CGroups:限制容器使用的 CPU、内存、磁盘等资源。
● Union File System:通过分层存储实现镜像的轻量化和快速分发。
1.4 什么是WSL、Hyper-V
WSL 和 Hyper-V 是 Windows 系统上两种不同的虚拟化技术,分别服务于不同的场景。以下是它们的核心区别和应用场景:
1. WSL(Windows Subsystem for Linux)
定义
WSL 是微软为 Windows 开发的 Linux 兼容层,允许用户直接在 Windows 中运行 Linux 命令行工具和应用程序,无需传统虚拟机。
关键特性
● 轻量级:无需完整虚拟机,资源占用低。
● 无缝集成:直接访问 Windows 文件系统(如 /mnt/c 对应 C:\)。
● 两种版本
WSL1:基于兼容层,通过翻译 Linux 系统调用到 Windows API
WSL2:基于轻量级虚拟机(依赖 Hyper-V),提供完整的 Linux 内核和更高性能。
适用场景
● 开发者在 Windows 上运行 Linux 工具链(如 Python、Node.js、GCC)。
● 使用 Linux 命令行工具(grep, awk, ssh)。
● 运行 Docker 容器(通过 WSL2 集成)。
C:\Program Files\WSL\wsl.exe
2. Hyper-V
定义
Hyper-V 是微软开发的 Type-1 Hypervisor(裸机虚拟化技术),允许在物理硬件上直接创建和管理虚拟机(VM),每个虚拟机运行独立操作系统。
关键特性
完整虚拟化:支持 Windows、Linux 等多种操作系统作为虚拟机。
硬件直通:可为虚拟机分配专用硬件资源(CPU、内存、GPU)。
管理工具:通过 Hyper-V Manager 或 PowerShell 管理虚拟机。
适用场景
运行多个独立操作系统(如 Windows Server、Ubuntu、CentOS)
开发和测试跨平台应用(如模拟服务器集群)。
企业级虚拟化(如数据中心、云服务)。
核心区别
协同工作示例
WSL2 基于 Hyper-V 的轻量级虚拟化层实现,提供更快的 Linux 内核和文件系统性能。
Docker Desktop 在 Windows 上默认使用 Hyper-V 虚拟机运行容器引擎,但也可选择与 WSL2 集成以获得更好的性能。
如何选择?
● 如果你只需要 运行 Linux 命令行工具或开发环境,优先使用 WSL2(更轻便)。
● 如果需要 完整的虚拟机或跨平台操作系统支持,使用 Hyper-V。
注意事项
● 系统要求:WSL2 和 Hyper-V 需要 Windows 10/11 Pro 或更高版本,且启用硬件虚拟化(BIOS 中开启 VT-x/AMD-V)。
● 兼容性:启用 Hyper-V 后,某些软件(如 VMware 或 VirtualBox)可能无法运行,需改用 Hyper-V 兼容的替代方案(如 Multipass)。
通过合理选择 WSL 或 Hyper-V,可以高效利用 Windows 系统的虚拟化能力,满足开发、测试和生产需求。
常见问题Q1:能否同时使用 Hyper-V 和 WSL 2?
是的,WSL 2 依赖 Hyper-V 的底层支持,但 Docker 容器会优先通过 WSL 2 运行,不会影响其他 Hyper-V 虚拟机。
Q2:切换后原有容器会丢失吗?
不会,Docker Desktop 会自动迁移现有容器和镜像到 WSL 2 环境。
Q3:如何回退到 Hyper-V 模式?
在 Docker Desktop 设置中取消勾选 “Use WSL 2 based engine”,重启即可。
总结Docker 推荐使用 WSL 2 是为了提升容器性能、简化资源管理,并优化 Windows 与 Linux 的集成体验。按照上述步骤启用后,你将获得更流畅的开发环境!
2. Dockerd Desktop安装
2.1 安装步骤
2.1 安装路径及数据文件存放位置问题
在 Windows 上安装 Docker Desktop 时,默认情况下,程序和数据都会存放在系统盘(通常为 C 盘)。为了节省系统盘空间,您可以在安装时自定义 Docker Desktop 的安装路径,并在安装后修改 Docker 数据的存储路径。以下是具体步骤:
一、自定义 Docker Desktop 的安装路径
1. 下载 Docker Desktop 安装程序:从 Docker 官方网站下载最新版本的 Docker Desktop 安装程序。
2. 以管理员身份运行打开命令提示符(cmd)或PowerShell(管理员模式)。
3. 执行安装命令:在 PowerShell 中,导航到下载的安装程序所在目录,并执行以下命令,将D:\Docker 替换为您希望的安装路径:
cmd命令:
start/w "Docker Desktop Installer.exe" install --installation-dir=D:\ProgramFiles\Docker --backend=wsl-2 --wsl-default-data-root=D:\AppsData\Docker\WSL\Docker-backend
powershell命令:
Start-Process -Wait -FilePath ".\Docker Desktop Installer.exe"-ArgumentList "install --installation-dir=D:\ProgramFiles\Docker"
此命令将 Docker Desktop 安装到指定的目录。
二、修改 Docker 数据的存储路径
上面截图设置方法会把docker_data.vhdx和ext4.vhdx文件都进行转移动,节省C盘空间
C:\Users\Administrator\AppData\Local\Docker\wsl\disk\docker_data.vhdx
C:\Users\Administrator\AppData\Local\Docker\wsl\main\ext4.vhdx
领取专属 10元无门槛券
私享最新 技术干货