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.