What is the difference between Container Engine Software and Container Management Software
I see a lot of confusion in the question. Docker is a containerization software whereas Kubernetes and Mesos are container management softwares.
While Kubernetes is a software for cluster management of containers(not necessarily for docker) and microservices, Apache Mesos is an orchestration technology for cluster management softwares like Kubernetes. 

All these three types of technology are aligned to work together.

In layman terms, you (can) run Docker within Kubernetes which you (can) run within Mesos.

Please have a read here for more explaination.