Skip to content

Docker to k8s Cheat Sheet

The full concept map. When lost, find the Docker thing you know and look right.

Concepts

Docker conceptKubernetes equivalent
docker runPod (lowest unit, wraps 1+ containers)
docker compose serviceDeployment
docker compose fileA set of YAML manifests (or a Helm chart / Kustomize base)
compose projectNamespace
compose networks / service namesService (ClusterIP) + cluster DNS
-p 8080:80Service (NodePort/LoadBalancer) or Ingress
named volumesPersistentVolumeClaim (+ StorageClass)
bind mountshostPath (avoid) or ConfigMap mounts for config files
.env / environment:ConfigMap + Secret
restart: alwaysBuilt-in - controllers reschedule pods
healthcheck:Liveness/readiness/startup probes
depends_onNothing - readiness probes + retry logic in the app
docker run from cronJob / CronJob
deploy.resourcesresources.requests / resources.limits
swarm replicasDeployment replicas + HorizontalPodAutoscaler

Commands

Docker commandkubectl equivalent
docker pskubectl get pods
docker inspect <c>kubectl describe pod <p>
docker logs -f <c>kubectl logs -f <p>
docker exec -it <c> shkubectl exec -it <p> -- sh
docker compose up -dkubectl apply -f .
docker compose downkubectl delete -f .
docker statskubectl top pods (needs metrics-server)
docker compose restart xkubectl rollout restart deployment/x

Failure states quick reference

StateMost common cause
ImagePullBackOffTag typo, private registry auth, missing image
CrashLoopBackOffApp dies on boot - check logs --previous
PendingNo node with enough resources, or PVC unbound
OOMKilledMemory limit too low (or a real leak)
Ready 0/1Readiness probe failing

A VineLab lab. Released under the MIT License.