一、准备条件
- 操作系统:Windows 10 或 11
- 启用 WSL2:Windows 子系统 Linux
- 安装 Docker Desktop:内置 Kubernetes(注意版本)
- kubectl:通常 Docker Desktop 会自带
注意:本地环境只是练习和熟悉流程,不适合生产使用
二、安装 Docker Desktop
1. 下载与安装
- 官网下载最新稳定版 Docker Desktop
- 安装过程中选择 WSL2 backend
- 安装完成后重启电脑
2. 启用 Kubernetes
- 打开 Docker Desktop 设置 → Kubernetes → 勾选 "Enable Kubernetes"
- Apply & Restart 等待 Kubernetes 启动
- 验证:
kubectl get nodes
- 你应该看到一个
Ready的 Node
3. 核心理解
- Docker Desktop 包含 container runtime + kubelet + kube-apiserver + scheduler
- WSL2 提供 Linux 内核支持,Docker Desktop 在其上跑容器
- Kubernetes 实际 Node 是在 WSL2 虚拟环境中运行
直觉:Docker Desktop = 一台小型 K8s 集群 + 容器运行环境
三、第一次运行容器
1. 写一个简单的 Dockerfile
FROM eclipse-temurin:17-jre
WORKDIR /app
COPY app.jar app.jar
ENTRYPOINT ["java", "-jar", "/app/app.jar"]
2. 构建镜像
docker build -t demo-app:1.0 .
3. 本地运行验证
docker run -p 8080:8080 demo-app:1.0
- 浏览器访问
http://localhost:8080确认应用启动
四、第一次 K8s 部署
1. 创建 Deployment YAML
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo-app
spec:
replicas: 2
selector:
matchLabels:
app: demo-app
template:
metadata:
labels:
app: demo-app
spec:
containers:
- name: app
image: demo-app:1.0
ports:
- containerPort: 8080
2. 部署到本地 K8s
kubectl apply -f deployment.yaml
3. 验证运行
kubectl get pods
kubectl describe pod <pod-name>
kubectl logs <pod-name>
- 确认 Pod 状态为
Running - Logs 能看到应用启动信息
五、第一条 Service(本地访问)
1. 创建 Service YAML
apiVersion: v1
kind: Service
metadata:
name: demo-app
spec:
type: ClusterIP
selector:
app: demo-app
ports:
- port: 80
targetPort: 8080
2. 部署 Service
kubectl apply -f service.yaml
kubectl get svc
注意:ClusterIP 只能集群内访问,本地调试可以用
kubectl port-forward或改成 NodePort
六、本阶段自检清单
- Docker Desktop 安装成功,K8s 启动并显示 Ready Node
- 能用 Docker 构建、运行一个简单容器
- 能写一个 Deployment 部署 Pod,并确认运行
- 能部署 Service 并用
kubectl检查状态 - 理解 Docker Desktop + WSL2 + K8s 的运行关系
七、下一阶段预告
第四阶段:Java 应用打镜像 & 上传仓库
- Spring Boot → Docker 镜像
- 理解镜像版本管理
- 第一次上传到本地或远程镜像仓库
- 准备 K8s 拉取镜像部署