Docker+Jenkins+K8S新手入门:从环境搭建到自动化部署实战

发布时间:2026/7/28 13:45:32
Docker+Jenkins+K8S新手入门:从环境搭建到自动化部署实战 1. 从零到一:为什么这套组合是新手入门的最佳路径如果你刚接触容器和自动化部署,面对 Docker、K8S、Jenkins 这些词感到无从下手,那这篇文章就是为你准备的。我见过太多新手一上来就死磕某个工具的复杂配置,结果卡在环境上,或者跑通 Demo 后完全不知道下一步该做什么,很快就放弃了。这套“Docker + Jenkins + K8S”的组合,真正的价值不在于单个工具多强大,而在于它们串联起来后,能让你亲手体验一个应用从代码提交到线上服务的完整自动化流程。这比单独学任何一个工具都更有实感。对于新手,我建议把目标拆解成三步:先让一个应用在 Docker 里跑起来,再用 Jenkins 自动化这个打包过程,最后用 K8S 来管理和发布这个 Docker 应用。这个顺序不能乱,因为每一步都是下一步的基础。很多人一上来就想搭建 K8S 集群,结果连 Docker 镜像都构建不顺利,自然会被各种网络、存储问题劝退。从搜索热词也能看出来,大家最关心的无非是“安装部署”、“常用命令”、“关系与区别”和“面试题”。这篇文章会围绕这些实际需求展开,但不会只给命令列表。我会带你走一遍从单机到简单集群的完整实操,过程中解释每个关键步骤“为什么”要这么做,以及卡住的时候“先看哪里”。你不需要 AWS 或昂贵的云服务器,用虚拟机甚至你自己的电脑就能完成大部分练习。2. 环境准备:避开第一个坑,选对系统和资源动手之前,环境是第一个门槛。很多人在这里就卡住了,不是因为步骤多复杂,而是因为没选对起点。2.1 操作系统选择:优先 Linux,Windows/macOS 备选首选 Linux 发行版,如 Ubuntu 22.04 LTS 或 CentOS 8 Stream。它们是大多数生产环境的标准,文档和社区支持最全。对于纯新手,我强烈推荐 Ubuntu,因为它的包管理命令(apt)更直观,遇到问题网上解决方案也最多。如果你只能用 Windows,有两个选择:使用 WSL 2 (Windows Subsystem for Linux):这是目前最接近原生 Linux 体验的方案。安装 Ubuntu 发行版到 WSL 2 里,后续所有操作都在这个 Linux 子系统中进行。Docker Desktop 也支持与 WSL 2 集成。直接使用 Docker Desktop for Windows:对于只想快速体验 Docker 和单机 K8S (Docker Desktop 自带 Kubernetes 功能) 的用户,这是一个快速上手的途径。但要注意,一些 Linux 特有的系统操作和网络配置,在 Windows 上可能会遇到差异。对于 macOS 用户,直接安装Docker Desktop for Mac即可,它同样内置了 Kubernetes 支持。我的建议是:即使你日常用 Windows/Mac,也尽量在虚拟机里装一个 Ubuntu 来学习。这能避免很多因系统差异导致的诡异问题,学习路径也更正统。2.2 硬件与资源规划:不需要高配,但要规划好CPU 与内存:这是基础。如果只在本地学习,你的电脑至少有 4核 CPU 和 8GB 内存。如果要运行多节点的 K8S 集群(例如使用kubeadm搭建),建议准备 8GB 以上内存,因为每个节点(包括控制平面和工作节点)都会消耗资源。磁盘空间:至少预留 20GB 可用空间。Docker 镜像、容器日志、K8S 的 etcd 数据库都会占用空间。网络:需要稳定的网络连接以下载镜像和软件包。如果你是公司内网,可能需要配置代理或内部镜像源。关键一步:配置软件源在 Linux 上,第一件事是更新系统并配置国内镜像源(如阿里云、腾讯云、清华大学的镜像站),这能极大提升软件包和 Docker 镜像的下载速度。以 Ubuntu 为例,备份原文件后,修改/etc/apt/sources.list中的地址即可。2.3 核心工具安装清单按顺序安装以下工具,每一步都验证是否成功:Docker Engine:容器运行时基础。Docker Compose(可选但推荐):用于定义和运行多容器应用,学习阶段非常有用。kubectl:Kubernetes 命令行工具,用于管理集群。即使集群还没搭,也可以先装。Minikube 或 Kind:用于在本地快速创建一个单节点 K8S 集群的工具。对于新手,Minikube是更友好的选择,它帮你处理了大部分底层配置。Jenkins:持续集成/部署服务器。我们将把它安装在一个 Docker 容器里,这是最干净、最易管理的方式。不要一次性全部安装完。应该遵循“安装一个,验证一个”的原则。例如,安装完 Docker 后,立刻运行docker run hello-world来测试。看到欢迎信息,说明 Docker 引擎和镜像拉取都正常。3. Docker 入门:不只是“安装”,而是理解容器在做什么Docker 的安装命令网上很多,但很多人输完命令后并不理解发生了什么。我们一步步拆解。3.1 安装与验证:看懂输出信息在 Ubuntu 上,标准安装流程如下:# 1. 更新包索引 sudo apt update # 2. 安装依赖包,允许 apt 通过 HTTPS 使用仓库 sudo apt install -y ca-certificates curl gnupg lsb-release # 3. 添加 Docker 官方 GPG 密钥 sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 4. 设置稳定版仓库 echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 5. 再次更新包索引,并安装 Docker Engine sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin安装后,必须执行sudo docker run hello-world。这个命令做了几件事:docker run:告诉 Docker 引擎要运行一个容器。hello-world:这是一个非常小的官方镜像名。如果本地没有,Docker 会自动从 Docker Hub(默认公共镜像仓库)拉取(pull)。拉取成功后,Docker 会创建一个隔离的容器环境,并执行镜像内定义的启动命令(对于hello-world,就是打印一段文字然后退出)。看到输出信息,就证明你的 Docker 安装成功了。但还没完,关键一步:为了避免每次命令都加sudo,需要将当前用户加入docker用户组: