Docker en Kubernetes zijn beide technologieën die verband houden met containers, maar ze dienen verschillende doelen.
Docker is een open-source platform dat het mogelijk maakt om applicaties te verpakken in containers. Dit betekent dat de applicatie en alle benodigde dependencies in één pakket worden gebundeld, waardoor de applicatie kan worden uitgevoerd op elke omgeving die Docker ondersteunt, ongeacht het onderliggende besturingssysteem. Het zorgt voor consistentie over meerdere ontwikkeling- en releasecycli, en tussen verschillende omgevingen en ontwikkelaars.
Kubernetes daarentegen is een open-source platform voor het beheren van containerized workloads en services. Het biedt een framework voor het uitvoeren van gedistribueerde systemen op schaal. Kubernetes is ontworpen om met meerdere hosts te werken om een high-availability cluster te bieden, en het kan containers orkestreren (starten, stoppen, schalen in/out, etc) op deze hosts.
Daarom kan men zeggen dat Docker en Kubernetes complementair aan elkaar zijn: terwijl Docker zich richt op het verpakken en distribueren van applicaties, zorgt Kubernetes voor het beheer, de schaling en het in bedrijf houden van deze applicaties.