Docker is what you actually put your code in and run it in, Kubernetes is an optional controller service. It can automatically scale up your code by increasing the number of containers, it can ensure reliability by automatically spawning new containers in the case of one of them crashing, it can automatically spawn containers to conform to a policy that you define, such as number of running containers at any point in time, and it supports load balancing of HTTP across your containers to horizontally scale with ease.
These are just some of the cool thing Kubernetes does, but there's a lot more cool stuff if you're interested.
Docker is what you actually put your code in and run it in, Kubernetes is an optional controller service. It can automatically scale up your code by increasing the number of containers, it can ensure reliability by automatically spawning new containers in the case of one of them crashing, it can automatically spawn containers to conform to a policy that you define, such as number of running containers at any point in time, and it supports load balancing of HTTP across your containers to horizontally scale with ease.
These are just some of the cool thing Kubernetes does, but there's a lot more cool stuff if you're interested.
Thanks, that helped a lot!