这是《Docker 与 Kubernetes 零基础实战指南》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。
Docker 常用
docker version
docker info
docker images
docker ps -a
docker pull nginx:1.27
docker run -d --name web -p 8080:80 nginx:1.27
docker logs -f web
docker exec -it web sh
docker stats
docker rm -f web
Docker 构建
docker build -t registry.example.com/shop/app:1.2.0 .
docker push registry.example.com/shop/app:1.2.0
docker system df
docker builder prune
Docker Compose
docker compose up -d
docker compose ps
docker compose logs -f app
docker compose exec app sh
docker compose down
kubectl 查看
kubectl get nodes -o wide
kubectl get pods -A
kubectl get deploy,rs,svc,ing -n shop
kubectl describe pod app -n shop
kubectl logs app -n shop --previous
kubectl exec -it app -n shop -- sh
kubectl 操作
kubectl apply -f deploy.yaml
kubectl delete -f deploy.yaml
kubectl scale deployment/app --replicas=3 -n shop
kubectl rollout status deployment/app -n shop
kubectl rollout history deployment/app -n shop
kubectl rollout undo deployment/app -n shop
kubectl port-forward svc/app 8080:80 -n shop
排障
kubectl get events -A --sort-by=.lastTimestamp
kubectl top nodes
kubectl top pods -A
kubectl get endpoints app -n shop
kubectl auth can-i list pods -n shop
常见状态
| 状态 | 方向 |
|---|---|
| Pending | 调度、资源、PVC |
| ImagePullBackOff | 镜像、凭据 |
| CrashLoopBackOff | 应用、配置、探针 |
| OOMKilled | 内存 limit |
| Evicted | 节点压力 |
| Completed | 正常结束 |
健康 YAML
livenessProbe:
httpGet:
path: /actuator/health/liveness
port: 8080
readinessProbe:
httpGet:
path: /actuator/health/readiness
port: 8080
startupProbe:
httpGet:
path: /actuator/health/liveness
port: 8080
failureThreshold: 30
periodSeconds: 2
本章小结
本速查手册汇总容器、镜像、Compose、kubectl、发布回滚和排障常用命令。生产使用时以当前工具版本和平台文档为准。