📅 第一阶段:容器与 K8S 基础 – 每日学习计划 (14天)
🎯 阶段目标
- 掌握 Docker 核心概念与操作
- 理解 Kubernetes 架构核心组件
- 熟练使用 kubectl 基础命令
- 完成本地 K8S 环境搭建
📚 每日学习安排
Day 1:Docker 基础概念
- 理论学习:
- 容器 vs 虚拟机区别
- Docker 架构(Client/Server/Daemon)
- Docker 核心概念:镜像/容器/仓库
- 动手实践:# 安装 Docker
curl -fsSL https://get.docker.com | sh
docker version # 验证安装
docker run hello-world
Day 2:Docker 镜像操作
- 理论学习:
- 镜像分层原理
- 镜像仓库类型(Docker Hub/私有仓库)
- 动手实践:docker pull nginx:alpine
docker images
docker rmi <image_id>
docker search ubuntu
Day 3:Docker 容器生命周期
- 理论学习:
- 容器状态管理(created/running/paused/exited)
- 前台 vs 后台运行模式
- 动手实践:docker run -it ubuntu /bin/bash
docker ps -a
docker start/stop/restart <container>
docker rm <container>
Day 4:Dockerfile 编写
- 理论学习:
- Dockerfile 指令解析(FROM/RUN/COPY/CMD)
- 构建上下文(Build Context)
- 动手实践:# 创建简单 Dockerfile
FROM alpine
RUN apk add –no-cache nodejs npm
COPY . /app
CMD [“node”, “/app/index.js”]docker build -t my-app:v1 .
Day 5:容器网络基础
- 理论学习:
- 容器网络模式(bridge/host/none)
- 端口映射原理
- 动手实践:docker run -d -p 8080:80 –name web nginx
curl localhost:8080
docker network ls
docker inspect web
Day 6:容器存储机制
- 理论学习:
- 动手实践:docker run -v /host/path:/container/path nginx
docker volume create my-vol
docker run -d -v my-vol:/app nginx
Day 7:Kubernetes 架构认知
- 理论学习:
- 控制平面组件(API Server/etcd/Scheduler)
- 工作节点组件(kubelet/kube-proxy)
- 声明式 API 设计哲学
- 动手实践:# 使用 minikube 查看组件
minikube start
minikube kubectl get pods -n kube-system
Day 8:本地环境搭建
- 理论学习:
- Minikube/Kind/K3s 对比
- 单节点集群工作原理
- 动手实践:# 安装 minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
# 启动集群
minikube start –driver=docker
minikube status
Day 9:kubectl 核心操作
- 理论学习:
- kubectl 命令结构
- 资源类型缩写(po/deploy/svc)
- 动手实践:kubectl version
kubectl cluster-info
kubectl get nodes
kubectl get all -A
Day 10:YAML 资源配置
- 理论学习:
- K8S 资源清单结构
- apiVersion/kind/metadata/spec
- 动手实践:# 创建 pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
– name: nginx
image: nginx:1.14.2kubectl apply -f pod.yaml
kubectl describe pod nginx-pod
Day 11:Pod 生命周期
- 理论学习:
- Pod 状态(Pending/Running/Succeeded/Failed)
- 容器探针(Liveness/Readiness)
- 动手实践:kubectl logs nginx-pod
kubectl exec -it nginx-pod — /bin/sh
kubectl port-forward nginx-pod 8080:80
Day 12:命名空间管理
- 理论学习:
- Namespace 隔离机制
- 系统命名空间(kube-system/kube-public)
- 动手实践:kubectl create ns test
kubectl get ns
kubectl run test-pod –image=busybox -n test — sleep 3600
kubectl delete ns test
Day 13:综合实践
- 任务:
- 构建自定义 Docker 镜像并推送到 Docker Hub
- 编写 Pod YAML 部署该镜像
- 通过端口转发访问应用
- 验证:curl http://localhost:8080
Day 14:复习与故障排查
- 复习重点:
- Docker 镜像构建流程
- K8S 架构组件交互
- kubectl 常用命令
- 故障模拟:# 故意制造错误并修复
kubectl apply -f broken.yaml
kubectl describe pod <error-pod>
kubectl logs <error-pod>
🔧 环境准备清单
- Linux/MacOS 主机(或 Windows WSL2)
- 安装 Docker Engine:https://docs.docker.com/engine/install/
- 安装 Minikube:https://minikube.sigs.k8s.io/docs/start/
- 安装 kubectl:https://kubernetes.io/docs/tasks/tools/
📚 每日学习资源
⚠️ 注意事项
- 每天保证至少 2 小时实践时间
- 所有命令必须手动输入(禁止复制粘贴)
- 记录操作笔记和遇到的问题
- 善用
--help
参数查看命令帮助
> 关键学习原则:
> 1️⃣ 所有概念必须通过命令行实践验证
> 2️⃣ 重点理解 `docker build/run` 和 `kubectl apply/describe` 工作流程
> 3️⃣ 每日结束时执行 `minikube stop` 节省资源,次日 `minikube start` 恢复环境