序章: 准备工作:从 Linux 基础到 Docker 环境配置
序章: 准备工作:从 Linux 基础到 Docker 环境配置
Prorise序章: 准备工作:从 Linux 基础到 Docker 环境配置
摘要: 本章是整个知识体系的基石,旨在确保我们拥有共同的起点和一致的开发环境。我们将首先明确本指南的目标读者,并将您熟知的 Linux 概念与 Docker 技术进行映射。接着,我们将以详尽的、图文并茂的步骤,指导您在 Windows 上完成 WSL2 的前置配置、Docker Desktop 的安装、可选的汉化,并 重点解决安装过程中最常见的 WSL 更新失败问题。最后,我们将验证安装并配置国内镜像加速器,为后续的实战之旅扫清一切障碍。
0.1. 本篇指南的目标读者:DevOps 赋能的容器化实践者
在开始之前,我们希望明确,这份笔记是为特定类型的开发者精心设计的。如果您在以下描述中看到了自己的影子,那么恭喜您,这里就是您系统性掌握 Docker 的最佳起点。
我们假定您是:
- 一位将 WSL2 作为核心开发环境的实践者,日常工作离不开 Windows Terminal 和 VS Code Remote - WSL 插件。
- 一位对 Linux 命令行 怀有敬畏并运用自如的开发者,
grep
,awk
,curl
,htop
,systemctl
等工具是您解决问题的得力助手。 - 一位具备初步 DevOps 思维 的工程师,深刻理解环境一致性的重要性,并渴望将这种一致性从开发、测试延伸到生产部署的每一个环节。
0.2. 知识衔接:你的 Linux 技能在 Docker 中的应用价值
您最大的优势在于,Docker 并非凭空产生的“魔法”,而是构建在 Linux 内核特性之上的产物。您已掌握的技能不仅不会过时,反而会成为您理解 Docker 底层原理的“金钥匙”。
你的 Linux 技能 | 在 Docker 世界的映射 | 核心关联与价值 |
---|---|---|
进程管理与隔离 (ps , top , chroot ) | Docker 容器 (Container) | Docker 使用 Linux 命名空间 (Namespaces) 为每个容器创建独立的进程树 (PID)、网络栈 (NET) 等。您对进程的理解能帮助您迅速领悟容器的隔离本质。 |
资源限制 (nice , ulimit , cgroups ) | 容器资源配额 (--cpu , --memory ) | Docker 直接利用 Linux 控制组 (Cgroups) 来限制和监控容器的 CPU、内存等资源使用。您的运维经验能让您更好地进行容器性能调优。 |
文件系统与挂载 (mount , fstab , ln ) | 镜像分层与数据卷 (Volume) | Docker 的镜像利用了 联合文件系统 (UnionFS) 实现分层,而数据持久化则类似于 mount 操作。理解文件系统能帮您彻底搞懂数据如何管理。 |
网络配置 (ip addr , iptables ) | Docker 网络 (Network) | Docker 通过创建虚拟网桥 (如 docker0 ) 和配置 iptables 规则来实现容器网络。您的网络知识是解开容器通信“黑盒”的关键。 |
脚本自动化 (Shell Scripting) | Dockerfile & CI/CD 流水线 | 编写 Dockerfile 本质上就是用声明式的方式编写一个构建脚本。您的脚本能力将直接转化为自动化构建和部署的能力。 |
0.3. 前置要求:安装 WSL 2 与 Linux 发行版
核心前置条件: 在 Windows 上使用 Docker Desktop 强依赖 WSL 2 作为其后端运行环境。因此,在安装 Docker Desktop 之前,您必须先成功安装 WSL 2 并配置至少一个 Linux 发行版(如 Ubuntu)。
如果您尚未完成此步骤,请务必参考以下这篇详尽的指南,它将指导您完成从零开始的全部流程,甚至包括如何将发行版安装到非系统盘。
请确保您已完成上述指南中的所有步骤,再继续阅读。
0.4. 安装并配置 Docker Desktop
0.4.1. 下载 Docker Desktop
- 访问 Docker 官方网站:https://www.docker.com/products/docker-desktop/
- 点击页面上的 “Download for Windows” 按钮,下载适用于 Windows 系统的 Docker Desktop 最新安装文件。
0.4.2. 执行安装程序
- 双击下载的
.exe
安装文件,启动安装向导。 - 在配置界面,请确保勾选 “Use WSL 2 instead of Hyper-V (recommended)” 选项。这是我们选择的最佳实践方案。点击
Ok
继续。
)
0.4.3. 完成首次启动配置
- 安装完成后,启动 Docker Desktop。
- 接受订阅协议: 首次打开时,会弹出 Docker 订阅服务协议,点击
Accept
接受以继续。
- 登录 (可选): 系统会提示您登录。您可以选择使用 Docker Hub、GitHub 或 Google 账户登录,如果暂时不需要,也可以点击
Continue without signing in
跳过此步骤。
- 问卷调查 (可选): 接下来会有一个关于您角色的简短问卷,可以直接点击
Skip
跳过。
)
- 启动完成: 完成以上步骤后,您将看到 Docker Desktop 的主界面,左下角显示为绿色,表示引擎正在运行。
0.5. 汉化 Docker Desktop(可选)
对于希望使用中文界面的用户,可以按照以下步骤进行汉化。
0.5.1. 下载中文语言包
- 访问 GitHub 上的开源项目
DockerDesktop-CN
,下载最新的语言包。
- 将下载的
app.asar
文件(或包含该文件的压缩包)保存到本地。
0.5.2. 替换语言文件
- 检查版本: 在替换前,请查看您 Docker Desktop 的版本号。可以在主界面右下角或设置中找到。
- 定位目录: 导航至 Docker 的资源文件目录,默认路径为:
C:\Program Files\Docker\Docker\resources
- 备份与替换:
- 在该目录下找到原始的
app.asar
文件,将其重命名为app.asar.bak
以作备份。 - 将您从 GitHub 下载的、与您版本对应的中文
app.asar
文件复制到此目录。
- 在该目录下找到原始的
0.5.3. 重启 Docker Desktop
- 彻底关闭 Docker Desktop(可以右键任务栏图标选择
Quit Docker Desktop
)。 - 重新启动程序。此时,界面应该已经显示为中文。
0.6. 关键问题排查:解决 WSL 更新失败
常见陷阱: 启动 Docker Desktop 时,可能会遇到 “WSL Kernel version too low” 或类似的错误提示,指出 WSL 更新失败。这通常是由于您的 Windows 系统版本过低,不满足当前 WSL 2 内核的要求所致。
)
解决方案:升级 Windows 并手动更新 WSL
1. 检查 Windows 版本
- 按下 Win + R 组合键,输入
winver
并回车。 - 查看您的 Windows 版本号。WSL2 的完整功能和稳定性需要 Windows 11 版本 22H2 或更高版本。如果您的版本较低(如 21H2),则必须升级。
2. 手动升级 Windows
- 访问 Windows 11 安装助手官方页面。
- 在“Windows 11 安装助手”部分,点击
立即下载
。
- 运行下载的工具,按照提示完成系统升级。这个过程耗时较长,请确保电脑电量充足并保持网络连接。
- 升级完成后,再次运行
winver
命令,确认系统版本已达到22H2
或更高。
3. 手动更新 WSL 内核
- 系统升级后,以 管理员身份 运行 PowerShell 或 Windows Terminal。
- 执行 WSL 更新命令:
1
wsl --update
- 更新完成后,检查 WSL 版本以确认成功:
1
wsl --version
4. 重新启动 Docker Desktop
- 完成以上所有步骤后,再次启动 Docker Desktop。此时,之前的 WSL 错误应该已经消失。
0.7. 最终验证与镜像加速配置
完成上述步骤后,您的 Docker 环境已基本就绪。现在,我们来进行最后的验证和优化。
1. 验证 Docker 环境
打开您的 WSL2 终端 (例如,在 Windows Terminal 中打开 Ubuntu 标签页),执行以下命令:
1 | # 检查 Docker 版本,确认客户端和服务端均已正常运行 |
1 | # 运行经典的 "hello-world" 镜像,验证 Docker 的完整工作流程 |
如果您能看到 “Hello from Docker!” 的问候语,那么恭喜您,Docker 环境已成功搭建!
2. 配置国内镜像加速器
关键优化: 由于网络原因,直接从 Docker Hub 官方仓库拉取镜像可能会非常缓慢甚至失败。配置国内镜像加速器是保证后续学习和开发效率的 必要步骤。
- 在任务栏右下角右键点击 Docker 图标,选择
Settings
(设置)。 - 导航到
Docker Engine
标签页。 - 在右侧的 JSON 配置文件中,添加
registry-mirrors
字段。以下是一些常用的公共加速器地址(请选择一个或多个):
1 | { |
- 点击右下角的 “Apply & Restart” 按钮。Docker 将会重启并应用新的配置。
至此,您的开发环境已完全准备就绪。在下一章中,我们将正式深入 Docker 的内部,从其核心架构与概念开始,真正地“拆开”这个黑盒。