Docker has released Kubernetes support in their stable channel for Docker Desktop on Windows and on Mac. Kubernetes is also supported by Docker Enterprise, allowing you to deploy the same images in both systems. This includes Docker Compose support allowing you to use compose files to deploy to the Kubernetes cluster as an alternative to kubeconfig files.
With the release of version 1.10.3, Docker Desktop for macOS and Windows 10 will have full Kubernetes support. The Kubernetes containers are run within the same Linux VM that Docker Desktop uses to host its Docker containers. This provides you with the same feature set that is already provided within Docker Desktop, including automatically mapping ports on the local machine into the container to allow for browsing from the host. The Kubernetes server runs as a single-node cluster and is not configurable at this time.
Docker Desktop comes with kubectl,
allowing you to interact with your cluster from the command line. For example, if you already have a Kubernetes YAML file, you can deploy it by:
docker-compose build
kubectl apply -f /path/to/kube-deployment.yml
Additionally, Docker Compose is fully integrated with Kubernetes and can be used to deploy as well:
docker stack deploy -c /path/to/docker-compose.yml mystack
By leveraging Docker Compose, you can split your stack deployment between Kubernetes and Swarm, or switch between them. It is recommended not to simultaneously deploy the same images in Kubernetes and Swarm mode as it may result in port and service name conflicts.
Docker Enterprise also has full support for Kubernetes. This allows you to develop and test locally with Docker Desktop and then deploy same Docker containerized applications to production. Docker Desktop is an officially certified Kubernetes distribution and has been tested with the CNCF Conformance test suite.
Minikube is an alternative to running Kubernetes locally. Gareth Rushgrove, Docker product manager, compares the use cases of Minikube with Docker Desktop:
I see Minikube as being perfect for folks working on Kubernetes and Docker Desktop being perfect for those building applications to run on top of it. Minikube has lots of options, from launching specific versions of Kubernetes, useful addons, different runtimes, etc. Docker Desktop is purposefully sitting more in the background. Click a button and you have the Kubernetes API to develop against.
Docker Desktop is available for both Windows and Mac. The Docker community forums are available for general discussion and assistance (Mac or Windows). Docker also accepts bugs and feedback via Github (Mac or Windows).